習題3
一、程序分析題
1.已知程序段如下:
DATA SEGMENT
ORG 12H
DB1 DB 10H,12H
ORG $+30H
VAR1 DW $+8
DATA ENDS
請問,上述語句中DB1和VAR1的偏移地址分別多少?兩個$的值分別是多少。DB1= 12H VAR1 44H 。
$1= 14H $2= 44H 。
2.已知程序:
CLC
MOV AL,56H
MOV BL,0F4H
OR AL,BL
請問,上述程序執行后,(AL)= 0F6H CF= 0
3. 已知程序:
ORG 0200H
DW1 DW 20H DUP(2,3),30H
…………..
MOV AL,TYPE DW1
MOV BX,OFFSET DW1
MOV AH,SIZE DW1
請問,上述程序執行后,(AX)= 4020H (BX)= 0200H
TYPE expression如果該表達式是變量,則匯編程序將回送該變量的以字節數表示的類型:DB(字節)為1,DW(字)為2,DD(雙字)為4,DF(六字節的字)為6,DQ(4字)為8,DT(10個字節)為10。
OFFSET 表示將DW1的變異地址傳送給寄存器BX
LENGTH格式為:LENGTH variable①對于變量中使用DUP的情況,匯編程序將回送分配給該變量的單元數②對于其他情況則送1例1:定義FEES DW 100 DUP(0)-----分配給FEES 100個單元對于指令MOV CX,LENGTH FEES匯編程序將使其形成為:MOV CX,100 例2:定義ARRAY DW 1,2,3對于MOV CX,LENGTH ARRAY匯編將使其形成為:MOVCX,1例3:TABLE DB ‘ABCD’對于指令MOV CX,LENGTH TABLE 形成為MOV CX,1
SIZE格式:SIZE variable匯編程序回送分配給該變量的字節數。次值是LENGTH值和TYPE