习题一
1无符号数: 11010011=211=D3H,01110111=119=77H,10000011=131=83H,
00101111=47=2FH,10101
010=170=AAH
带符号数:11010011=-45=D3
H,01110111=+119=77H,10000011= -125=83H,
00101111=+47=2FH,10101010= -86=AAH
2
5E8AH,0BE6H,3DEH,4940H
3
00011101+00110101=01010010=52H=82?0100
1001+11101000=00110001=
31H=49
10111110+01010010=000100
00=10H=16?10011010+11110001=10001011=8BH= -117
4
00101001+01010011=01111100+00000110=10000010=
82H=82?0111001
1-00100100=01001111-000001
10=01001001=49H=49?01100110+00011000=0111
1110+00000110=10000100=8
4H=84?10010+01110101=0011
1+00000110
=00111=0207H=207
5000020A3H,FF94H,00003456H,007FH,FFFFEC00H
6无符号数:0~65535,0000H~FFFFH;带符号数:-32768~+32767,8000H~7FFFH
7
(1) 38H等于十进制数56,是十进制数56的补码,数字8的ASCII码,十进制数38的压缩BCD码
(2)FFH等于十进制数-1,是带符号数-1的补码,无符号数为255?(3)5AH 等于十进制数90,是十进制数90的补码,大写字母Z的ASCII码?(4)0DH等于十进制数13,是十进制数13的补码,回车符的ASCII码
8
(1) 108=01101100B=6CH,补码01101100B,压缩BCD码01000,ASCII 码313038H
(2) 46=00101110B=2EH,补码00101110B,压缩BCD码01000110,ASCII码3436H
(3) –15=11110001B=F1H,补码11110001B,ASCII码2D3135H
?(4)254=11110B=00FEH,补码11110B,压缩BCD码10100,ASCII 码323534H
9
(1) 56+63=01110111B,CF=0,SF=0,ZF=0,OF=0
(2) 83-45=00100110B,CF=0,SF=0,ZF=0,OF=0
(3)-74+29=11010011B,CF=0,SF=1,ZF=0,OF=0
(4) -92-37=01111111B,CF=1,SF =0,ZF=0,OF=1
10
回车、换行、响铃、ESC键、空格键、@、P、p
习题二
9 最少划分为16个逻辑段,最多划分为65536个逻辑段(每段16个字节)
10 CS:IP,DS:BX、SI、DI,ES:BX、SI、DI,SS:SP、BP
11字节单元保存8位数,字单元保存16位数。根据源操作数的属性确定要访问的是字节单元还是字单元。
12 对于字节单元来说,偶地址和奇地
址一样;对于字单元而言,最好用偶地址保存,可减少CPU的访存次数。
13 首单元的物理地址=38AE8H,末单元的物理地址=38AE8H+7FFFH=40AE7H
16 (1)物理地址=27679H(2)物理地址=20F92H(3) 物理地址
=20F92H ?(2)和(3)的物理地址是一样
的。说明逻辑地址不唯一,多个逻辑地址可对应到同一个物理单元上。
17 代码段CS:IP的物理地址=55A84H 堆栈段SS:SP的物理地址
=4DB65H
数据段DS:BX的物理地址=17678H 附加段ES:DI的物理地址=2BA41H
18当前栈指针所指单元的物理地址是1522CH。堆栈区中还能保存254个字。19 执行E200
20执行U100
21 执行R CX,然后输入100
22执行EDS:0 ‘a’‘b’‘c’
‘d’
习题三
3MOV AX,BX 源操作数为寄存器寻址,EA 无,物理地址无?MOV AX,1290H立即寻址,EA无,物理地址无
?MOV AX,[BX] 寄存器间接寻址,EA
=1290H,物理地址=2FBB0HMOV AX,DS:[1290H]直接寻址,EA=1290H, 物理地址=2FBB0H?MOVAX,[BP]寄存器间接寻址,EA=6756H, 物理地址=26A56H
MOV[DI][BX],AX 目的操作数为基
址变址寻址,EA=3C06H, 物理地址=32526H?MOV ES:[SI],AX 寄存器间接寻址,EA=348AH, 物理地址=50C
AAH
7
MOVAX,[CX]错。CX不能为间址寄存器
MOVAL,1200H 错。立即数超出8位寄存器范围?MOVAL,BX 错。两个操作数不匹配?MOV [SI][DI],AX错。两个变址寄存器不能在一起?MOV ES:[DX],CX错。DX不能为间址寄存器?MOV [AX],VALUE错。AX不能为间址寄存器
MOV COUNT,[SI] 错。两个操作数不能都是存储单元
8
(1) MOV AX,BX(2) MOV CL,15 (3) ADD AX,[BX](4)MOV [BX+SI],AL (5) MOV A X,VALUE[SI] (6) SUB AX,DS:[2000H]
9
(1)ADDAX,[X+4]
MOVY,AX ?(2) MOV BX,4?ADD AX,X[BX]
MOV Y,AX?(3)MOVBX,4
MOV SI,OFFSET X?ADDAX,[BX+SI]
MOVY,AX
10立即寻址方式中操作数(立即数)和指令一起存放在代码段中。
习题四
10
(1) DATA SEGMENT?X DW0?YDW0
DATA ENDS?(2)STRING DB ’Com puter’?(3) COUNT DB 100DUP(?)?(4)PI EQU 3.14?(5) VALUE LABEL BYTE
11 (1)对。(2)错。260超出了字节范围。(3)错。X3是字节型,1234H是字型,不匹配。?(4)对。(5)错。缺少DUP。(6)对。
12(1)AL=3。(2)AX=2103H。(3)DX=TABLE的偏移地址。(4)CL=33H
(5)BX=TABLE的段地址。(6)BX=1。(7)DX= TABLE的偏移地址。
13
MOV DX,2012H
MOV AX,5D68H
MOV CX,1003H?MOV BX,49A6H
ADD AX,BX (SUB AX,BX)?ADC DX,CX (SBBDX,CX)
14 SUB AX,CX?SBB DX,0
15 MOVAX,extra?MOV ES,AX 16
(1) MOV AL,16?ADD AL,X?MOV BL,5?IMUL BL?MOV Z,AX(2)MOV BL,4?MOV AL,X
IDIVBL?SUB AL,Y