第三章
3.9给出下列与语句中,指令立即数(数值表达式)的值:
(1) mov al, 23h and 45h or 67h
(2) mov ax, 1234h/16+10h
(3) mov ax, 23h SHL 4
(4) mov al, ’a’AND(NOT(‘a’-‘A’))
(5) Mov ax,(76534 LT 32768) XOR 7654h
解:
(1)Al=67h
(2)Ax=133h
(3)AX=0234h
(4)AL=41h
(5)Ax=7654h
3.11 请设置一个数据段,按照如下要求定义变量:
(1) My1b为字符串变量,表示字符串“Personal Computer”.
(2) my2b为用十进制数表示的字节变量,这个数的大小为20.
(3) my3b为用十六进制数表示的字节变量,这个数的大小为20。
(4) my4b为用二进制数表示的字节变量,这个数的大小为20.
(5) my5w为20个为赋值的字变量。
(6) my6c为100的符号常量。
(7) my7c为字符串常量,代替字符串“personal computer”.
解:
mydataseg segment
my1b db ‘Personal Computer’
my2b db 20
my3b db 14h; 20h
my4b db 00010100b
my5w dw 20 dup(?)
my6c equ 100; my6c = 100
my7c equ
mydataseg ends
3.14 设在某个程序中有如下片段请写出每条传送指令执行后寄存器AX的内容:
;数据段
org 100h
Varw dw 1234h,5678h
Varb db 3,4
Vard dd 12345678h
Buff db 10 dup (?)
Mess db ‘helllo’
;代码段