1、已知有以下變量定義,請將各變量分別放在源程序中進行調試,觀察爲每變量所分配的存儲 空間及初始化的數據值
(1)BR DB ‘Hello’,68,-20,3 DUP(4)
(2)WR DW 3456H,0AFH,0A123H,-30
(3)X DW1,2,$ +4,3,4,$ +4
要求:分析、觀察變量的數據分配,記錄變量存儲情況。
DB定義一個字節單元,‘Hello’每個字符佔一個字節單元,68的十六進制爲44,-20的原碼爲10010100,它的補碼爲11101100,轉化爲十六進制爲EC,DUP()重複定義三個字節單元,都存儲04。(2)(3)同理;
2、執行下列指令後,AX 寄存器中的內容是什麼?
TABLE DW 10H,20H,30H,40H,50H BUF DW 4 ┇ LEA BX,TABLE ADD BX,BUF MOV AX,[BX] ┇
要求:
(1)將以上程序段補充成完整的彙編源程序,並調試運行。
(2)將以上程序段中的 TABLE DW 10H,20H,30H,40H,50H 修改爲 TABLE DW 10,20,30,40,50,再補充成完整的彙編程序並調試運行,觀察並記錄 AX 的內容。
源代碼:
DATA SEGMENT
TABLE DW 10H,20H,30H,40H,50H
BUF DW 4
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
LEA BX,TABLE
ADD BX,BUF
MOV AX,[BX]
MOV AH,4CH
INT 21H
CODE ENDS
END START
修改之後: