检测点12.1
(1)
0070:018B
(2)
N*4
N*4+2...

- [mess] 答案都正确,博主继续加油啊^_^ 06/14 16:42
- [tomato] 正确。 06/12 09:44
- [tomato] 第二题还有一处。 06/12 09:43
- [sinawear] 吹个口哨...xv 06/12 00:24
- [211025] 检测点9.1是 dd 0,0,0,谢谢 06/09 10:13
- [tomato] 检测点9.1的第一题不对。 06/05 13:56
- [xiaochong] 检测点11.2中 add al,90h 0 1 1 0 1 06/02 21:48
[2009-06-13 14:35] 检测点12.1
阅读全文 |
评论次数(0) |
浏览次数(339) |
所属类型(默认类型)
[2009-06-13 14:32] 检测点1.1
检测点1.1
(1) 13
(2) 1024,0,1023
(3) 8192,1024
(4) 2^30,2^20,2^10
(5) 64,1,16,4
(6) 1,1,2,2,4
(7) 512,256
(8) 二进制...
(1) 13
(2) 1024,0,1023
(3) 8192,1024
(4) 2^30,2^20,2^10
(5) 64,1,16,4
(6) 1,1,2,2,4
(7) 512,256
(8) 二进制...
阅读全文 |
评论次数(1) |
浏览次数(383) |
所属类型(默认类型)
[2009-06-13 14:31] 检测点2.1,2.2
检测点2.1
----------------------
(1)写出每条汇编指令执行后相关寄存器中的值。
第一空:F4A3H
第二空:31A3H
第三空:3123H
第四空:6246H
第五空:826CH
第六空:6246H
第七空:826CH
第八空:04D8H
第九空:0482H
第十空:6C82H
第十一空:D882H
第十二空:D888H
第十三空:D810H
第十四空:6246H
(2)只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。
解答如下:
mov ax,2
add ax,ax
add ax,ax
ad...
----------------------
(1)写出每条汇编指令执行后相关寄存器中的值。
第一空:F4A3H
第二空:31A3H
第三空:3123H
第四空:6246H
第五空:826CH
第六空:6246H
第七空:826CH
第八空:04D8H
第九空:0482H
第十空:6C82H
第十一空:D882H
第十二空:D888H
第十三空:D810H
第十四空:6246H
(2)只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。
解答如下:
mov ax,2
add ax,ax
add ax,ax
ad...
阅读全文 |
评论次数(0) |
浏览次数(325) |
所属类型(默认类型)
[2009-06-13 14:29] 检测点3.1,3.2
1)
第一空:2662H
第二空:E626H
第三空:E626H
第四空:2662H
第五空:D6E6H
第六空:FD48H
第七空:2C14H
第八空:0000H
第九空:00E6H
第十空:0000H
第十一空:0026H
第十二空:000CH
(2)
1.指令序列如下:
mov ax,6622h
jmp 0ff0:0100
mov ax,2000h
mov ds,ax
mov ax,[0008]
mov ax,[0002]
2.写出CPU执行每条指令后,CS、IP和相关寄存器中的数值。
指令序列↓ 寄存器→ CS IP DS...
第一空:2662H
第二空:E626H
第三空:E626H
第四空:2662H
第五空:D6E6H
第六空:FD48H
第七空:2C14H
第八空:0000H
第九空:00E6H
第十空:0000H
第十一空:0026H
第十二空:000CH
(2)
1.指令序列如下:
mov ax,6622h
jmp 0ff0:0100
mov ax,2000h
mov ds,ax
mov ax,[0008]
mov ax,[0002]
2.写出CPU执行每条指令后,CS、IP和相关寄存器中的数值。
指令序列↓ 寄存器→ CS IP DS...
阅读全文 |
评论次数(0) |
浏览次数(609) |
所属类型(默认类型)
[2009-06-13 14:26] 检测点16.1,16.2
下面的程序将code段中a处的8个数据累加,结果存储到b处的dword中,补全程序。
完整程序如下:
assume cs:code
code segment
a dw 1,2,3,4,5,6,7,8
b dd 0
start:
mov si,0
mov cx,8
s: mov ax,a[si]
add word ptr b,ax
adc word ptr b[2],0
add si,2
...
完整程序如下:
assume cs:code
code segment
a dw 1,2,3,4,5,6,7,8
b dd 0
start:
mov si,0
mov cx,8
s: mov ax,a[si]
add word ptr b,ax
adc word ptr b[2],0
add si,2
...
阅读全文 |
评论次数(0) |
浏览次数(326) |
所属类型(默认类型)
[2009-06-11 22:01] 检测点15.1
检测点15.1
(1):
pushf
call dword ptr ds:[0]
两条指令。
(2)
2)仔细分析上面程序中的主程序,看看有什么潜在的问题?
在主程序中,如果在执行设置int 9中断例程的段地址和偏移地址的指令之间发生了键盘中断,则CPU将转去一个错误的地址执行,将发生错误。
找出这样的程序段,改写它们,排除潜在的问题。
改正的程序段如下:
cli
mov word ptr es:[9*4],offset int9
mov es:[9*4+2],cs
sti...
(1):
pushf
call dword ptr ds:[0]
两条指令。
(2)
2)仔细分析上面程序中的主程序,看看有什么潜在的问题?
在主程序中,如果在执行设置int 9中断例程的段地址和偏移地址的指令之间发生了键盘中断,则CPU将转去一个错误的地址执行,将发生错误。
找出这样的程序段,改写它们,排除潜在的问题。
改正的程序段如下:
cli
mov word ptr es:[9*4],offset int9
mov es:[9*4+2],cs
sti...
阅读全文 |
评论次数(2) |
浏览次数(412) |
所属类型(默认类型)
[2009-06-11 21:42] 检测点14.1,14.2
检测点14.1
(1)编程:读取CMOS RAM的2号单元的内容。
完整程序如下:
assume cs:code
code segment
start:
mov al,2
out 70h,al
in al,71h ;此时al中装的是当前时间的‘分’。
mov ax,4c00h
int 21h
code ends
end start
(2) 编程:向CMOS RAM的2号单元写入0。
完整程序如下:
...
(1)编程:读取CMOS RAM的2号单元的内容。
完整程序如下:
assume cs:code
code segment
start:
mov al,2
out 70h,al
in al,71h ;此时al中装的是当前时间的‘分’。
mov ax,4c00h
int 21h
code ends
end start
(2) 编程:向CMOS RAM的2号单元写入0。
完整程序如下:
...
阅读全文 |
评论次数(1) |
浏览次数(412) |
所属类型(默认类型)
[2009-06-10 11:08] 检测点6.1
(1)
assume cs:codesg
codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
start: mov ax,0
mov ds,ax
mov bx,0
mov cx,8
s: mov ax,[bx]
mov cs:[bx],ax ;此条指令为所填指令
add bx,2
loop s
mov ax,4c00h
int 21h
...
assume cs:codesg
codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
start: mov ax,0
mov ds,ax
mov bx,0
mov cx,8
s: mov ax,[bx]
mov cs:[bx],ax ;此条指令为所填指令
add bx,2
loop s
mov ax,4c00h
int 21h
...
阅读全文 |
评论次数(0) |
浏览次数(332) |
所属类型(默认类型)
[2009-06-09 10:09] 检测点13.1,13.2
检测点13.1
(1)
答:所能进行的最大转移位移是128。因为是实现loop的功能,那就应当遵守loop的使用规则。
(2)用7ch中断例程完成jmp near ptr s指令的功能,用bx向中断例程传送转移位移。
解答完整程序如下:
assume cs:code
data segment
db 'conversation',0
data ends
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset nr
...
(1)
答:所能进行的最大转移位移是128。因为是实现loop的功能,那就应当遵守loop的使用规则。
(2)用7ch中断例程完成jmp near ptr s指令的功能,用bx向中断例程传送转移位移。
解答完整程序如下:
assume cs:code
data segment
db 'conversation',0
data ends
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset nr
...
阅读全文 |
评论次数(0) |
浏览次数(345) |
所属类型(默认类型)
[2009-06-05 12:37] 检测点9.1,9.2,9.3
检测点9.1
(1)程序如下:
assume cs:code
data segment
db 00
data ends
code segment
start:mov ax,data
mov ds,ax
mov bx,0
jmp word ptr [bx+1]
code ends
end start
若要使程序中的jmp指令执行后,cs:ip指向程序的第一条指令,在data段中应该定义哪些数据:
(2)程序如下:
assume cs:code
data segment
dd 12345678...
(1)程序如下:
assume cs:code
data segment
db 00
data ends
code segment
start:mov ax,data
mov ds,ax
mov bx,0
jmp word ptr [bx+1]
code ends
end start
若要使程序中的jmp指令执行后,cs:ip指向程序的第一条指令,在data段中应该定义哪些数据:
(2)程序如下:
assume cs:code
data segment
dd 12345678...
阅读全文 |
评论次数(2) |
浏览次数(416) |
所属类型(默认类型)
『 查看更多文章 』