當前位置:編程學習大全網 - 編程軟體 - 匯編語言程序設計習題

匯編語言程序設計習題

1.寫出下列程序段執行的結果,(AL)=? (DL)=?

並指出此程序段完成的是什麽功能?

MOV CL, 4

MOV AL, 87d=57H

MOV DL, AL

AND AL, 0FH

OR AL, 30H

SHR DL, CL

OR DL, 30H

(AL)=37H (DL)=35H

程序段完成功能是:把AL中的16進制數高位送DL,移位取出低位,

再分別轉化為對應的ASCII碼.

2.假定DS=2100H,BX=0100H,SI=0002H;

[21100H]=12H,[21101H]=34H,[21102H]=56H,[21103H]=78H。

2100:100H=12H,34H,56H,78H

分析下列指令執行後寄存器的內容。

(1) MOV AX,[101H] ;ax=5634H

(2) MOV AX,[BX+2] ;ax=[0102H]=7856H

(3) MOV AL,[BX][SI+1] ;al=[0103H]=78H

(4) MOV AX,100H[SI] ;ax=[0102H]=7856H

3.識別下列指令正確與否,對錯誤指令,說明出錯的原因。

(1) MOV DS,100 × ;數據段不允許用立即數賦值

(2) MOV [1000H],23H ×;立即數送入內存需指明是字還是字節

(3) MOV [1000H],[2000H] ×;源和目標不能同為內存數

(4) MOV DATA,1133H ? ;如用DATA定義過數據段,DATA就不能再用作變量名

(5) MOV 1020H,DX ×;目標不能是立即數

(6) MOV AX,[0100H+BX+BP] ×;尋址時,BX、BP只能用壹個

(7) MOV CS,AX ×;CS不能直接賦值

(8) PUSH AL ×;堆棧不能壓入字節,只能壓入字(32位壓入雙字)

(9) PUSH WORD PTR[SI] √

(10) IN AL,378H ×;端口尋址大於0FFH,端口號源要放入DX

(11) OUT 80H,AX √

(12) MOV CX,[AX+SI]×;AX不能用於內存尋址

  • 上一篇:中職專業課面試想考計算機組裝與技術應該怎麽選
  • 下一篇:如何將視頻中的人屁股變大
  • copyright 2024編程學習大全網