39。图,就不画了,呵呵~~自己看一下课本,P101~~
40.。(1)0000 3100H (2)5100H (3)7100H
41。(1)目的地址:2004H 内容依次为: 56H F4H 23H 98H
(2)目的地址: 384CH 内容依次为: 91H 34H F2H 01H
(3)目的地址: 寄存器,无物理地址~ 内容依次为:92H 6DH A2H 4CH
42。 (1)PUSH AX
(SP)<------(SP)-2
(SP+1)<-----(AH) (SP)<------(AL)
(2)POP ESI
(ESI)<-------((ESP)+3,(ESP)+2,(ESP)+1, (ESP))
(ESP)<-------(ESP)+4
(3)PUSH [BX]
(SP+1)<-----([BX+1]) (SP)<------([BX])
(4) PUSHAD
(ESP)<-------(EAX)
(ESP-4)<-------(ECX)
(ESP-8)<-------(EDX)
(ESP-12)<-------(EBX)
(ESP-16)<-------(ESP) ;这里指的是指令执行前的ESP
(ESP-20)<-------(EBP)
(ESP-24)<-------(ESI)
(ESP-28)<-------(EDI)
(ESP)<-------(ESP)-32
(5)POP DS
(DS)<------((SP)+1,(SP))
(SP)<------(SP)+2
(6) PUSH 4
(SP)<-------(SP)-2
(SP+1)<-----0
(SP)<------4
43。(1) 2CE FF93H (2) 24B 76A0H
(3)909 0804H (4) 6F 13ADH
44。(1)0FFFF FFFCH (2)0FFFF FFF8H
(3)0000 0007H (4)0000 0099H
45。 (EAX)=0 (EBX)=25d
46。 (AX)=3d (DX)=7d
47。ADD ECX,EDX
ADD ECX,ESI
MOV EDI ,ECX
48。 IMUL BX,DX,100H执行的操作是:
(BX)<-------(DX)*100H
49。程序实现:
MOV AL,BL
CBW
IDIV CL
IMUL 2
MOV DX,AX
50。
JMP DI 是直接跳转,执行的操作是: (IP)<-----(IP)+(DI)
JMP [DI]是间接跳转,执行的操作是: (IP)<----(IP)+([DI])跳转到DI中所指向的内存单元中的指令地址~
51。假设数组名为NUMBERS,程序如下~
MOV BX,0 ;后面用到~
MOV CX,100H ;把循环次数放入CX
MOV AL,42H
MOV SI,0 ;初始化SI
;CHECK 用来实现查找功能~
CHECK : CMP AL ,NUMBERS[SI]
INC SI
JB STORE1 ;大于42H的数的个数存入UP
JA STORE2 ;小于42H的的数的个数存入DOWN中~
LOOP CHECK ;相等继续循环~
STORE1 INC BL ;找到一个大于42 的数,BL值增加1~
MOV UP,BL
LOOP CHECK
STORE2 INC BH
MOV DOWN ,BH
52。图,也不用画了~~呵呵~好了,本章结束