检测点 11.1
写出下面每条指令执行后,ZF,PF,SF等标志位的值
sub al,al ZF = ____ PF = ____ SF = ____
mov al,1 ZF = ____ PF = ____ SF = ____
push ax ZF = ____ PF = ____ SF = ____
pop bx ZF = ____ PF = ____ SF = ____
add al,bl ZF = ____ PF = ____ SF = ____
add al,10 ZF = ____ PF = ____ SF = ____
mul al ...


- [chaplinyip] 练拳不练功,到老一场空。不要过分关注语言,它只是拳脚上的招式罢了,缺乏思想再好的语言亦只能沦为花拳绣 09/03 21:11
- [ameteur] 不要说VB不行,它几乎能编出所有程序。 09/03 18:29
- [tomato] 第一题的答案不正确。 05/19 18:06
- [mess] 速度真快啊,前两天还做第三章的检测题呢 呵呵 这个可以debug下直接查看结果是否正确,好像是 05/11 18:16
- [mess] 答案不对,你根据push pop的操作步骤再想一想。 05/11 18:14
- [bade90] 写错了.郁闷 05/07 19:15
- [wsrf] 分析的很对。 05/06 23:22
- [wsrf] 博主如果添100H,还能符合 CS*10H + IP = 10000H吗? 05/06 23:21
- [bade90] 王爽的汇编学完了,还得学32位的呢。 哎。。 05/06 12:08
- [tomato] 这种程度就算彻底学明白了! 05/04 12:03
- [tomato] 期待博主博客中每个检测点作业! 03/23 20:30
[2009-05-09 11:25] 检测点11.1
阅读全文 |
评论次数(1) |
浏览次数(632) |
所属类型(汇编作业)
[2009-05-08 20:53] 检测点3.2
(1)
MOV AX,1000H
MOV DS,AX
--------- mov ax,1000h
--------- mov ss,ax
--------- mov sp,0010h
PUSH [0]
PUSH [2]
PUSH [4]
....
(2)
同样设置 SS和SP寄存器就可以...
MOV AX,1000H
MOV DS,AX
--------- mov ax,1000h
--------- mov ss,ax
--------- mov sp,0010h
PUSH [0]
PUSH [2]
PUSH [4]
....
(2)
同样设置 SS和SP寄存器就可以...
阅读全文 |
评论次数(1) |
浏览次数(616) |
所属类型(汇编作业)
[2009-05-08 20:41] 检测点3.1
【2】
2662H
e626H
E626H
2662H
0C88H
3B54H
0
00E6H
0
26H
010CH
不想解释了,数学计算而已
【2】
①
mov ax,6622h
JMP 0FF0:0100 FF0 * 10H + 100 = 10000H ←跳
MOV BX,AX ↓
↓
MOV AX,2000H (AX) = 2000H ←← ←← ←←
MOV DS,AX...
2662H
e626H
E626H
2662H
0C88H
3B54H
0
00E6H
0
26H
010CH
不想解释了,数学计算而已
【2】
①
mov ax,6622h
JMP 0FF0:0100 FF0 * 10H + 100 = 10000H ←跳
MOV BX,AX ↓
↓
MOV AX,2000H (AX) = 2000H ←← ←← ←←
MOV DS,AX...
阅读全文 |
评论次数(1) |
浏览次数(648) |
所属类型(汇编作业)
[2009-05-06 19:06] 检测点10.2
下面的程序执行后,AX中的数值为多少
内存地址 机器码 汇编指令
1000:0 b8 00 00 mov ax,0 执行后AX=0
1000:3 e8 01 00 call s PUSH IP,JMP S
1000:6 40 inc ax AX = AX +1
1000:7 58 S:pop ax 弹出数据到AX
答案:AX中的数值为6
这里其实重要的就是CALL 指令
明白CALL指令的过程 这个问题就迎刃而解了
我详细的分析一下
CALL S指令
这里别忘了 ...
内存地址 机器码 汇编指令
1000:0 b8 00 00 mov ax,0 执行后AX=0
1000:3 e8 01 00 call s PUSH IP,JMP S
1000:6 40 inc ax AX = AX +1
1000:7 58 S:pop ax 弹出数据到AX
答案:AX中的数值为6
这里其实重要的就是CALL 指令
明白CALL指令的过程 这个问题就迎刃而解了
我详细的分析一下
CALL S指令
这里别忘了 ...
阅读全文 |
评论次数(1) |
浏览次数(593) |
所属类型(汇编作业)
[2009-05-06 18:44] 检测点10.1
补全程序,实现从内存1000:0000处开始执行指令
assume cs:code,
stack segment
db 16 dup (0)
stack ends
code segment
start:mov ax,stack ;把栈段的段地址送入AX
mov ss,ax ;再把AX里的栈段送入SS寄存器
mov sp,16 ;设置栈段的偏移地址
mov ax,_____ ;这里应写段地址
push ax ;这里压入刚写的段地址
mov ax,____...
assume cs:code,
stack segment
db 16 dup (0)
stack ends
code segment
start:mov ax,stack ;把栈段的段地址送入AX
mov ss,ax ;再把AX里的栈段送入SS寄存器
mov sp,16 ;设置栈段的偏移地址
mov ax,_____ ;这里应写段地址
push ax ;这里压入刚写的段地址
mov ax,____...
阅读全文 |
评论次数(2) |
浏览次数(581) |
所属类型(汇编作业)
[2009-05-02 20:21] 检测点2.3
下面的3条指令执行后,CPU几次修改IP?
都是在什么时候?最后IP中的值是多少?
mov ax,bx ip+2指向下一条指令,改变IP一次,执行指令
sub ax,ax IP+2指向下一条指令,改变IP一次,执行指令
jmp ax IP+2执行下一条指令,改变IP一次,执行指令后
又改变一次
一共改变四次
不明白的可以这么想
每一个指令都会改变IP
注意:是先改变IP然后再执行指令的
但是JMP是跳转指令,
跳转指令会改变IP
详细解释:
mov ax,bx
从CS:ip 指向的开始
mov ax,bx 送到指令缓冲器
IP + 指令...
都是在什么时候?最后IP中的值是多少?
mov ax,bx ip+2指向下一条指令,改变IP一次,执行指令
sub ax,ax IP+2指向下一条指令,改变IP一次,执行指令
jmp ax IP+2执行下一条指令,改变IP一次,执行指令后
又改变一次
一共改变四次
不明白的可以这么想
每一个指令都会改变IP
注意:是先改变IP然后再执行指令的
但是JMP是跳转指令,
跳转指令会改变IP
详细解释:
mov ax,bx
从CS:ip 指向的开始
mov ax,bx 送到指令缓冲器
IP + 指令...
阅读全文 |
评论次数(2) |
浏览次数(820) |
所属类型(汇编作业)
[2009-04-21 22:05] 检测题2.2
【1】给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为_____到____。
【2】有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元,则SA应满足的条件是:最小为______,最大为______。
如果给定一个段地址,仅通过变化偏移地址来进行寻址,最多可以寻找多少内存单元?
结论:偏移地址16位,变化范围 0~FFFFH,所以最多只能寻找64KB个内存单元
【1】答案
0001H 到 0001H + FFFFH 也就是到 10000H
【2】答案
最小为1000H,最大为2000H
SA * 16 + EA = 20000H ...
【2】有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元,则SA应满足的条件是:最小为______,最大为______。
如果给定一个段地址,仅通过变化偏移地址来进行寻址,最多可以寻找多少内存单元?
结论:偏移地址16位,变化范围 0~FFFFH,所以最多只能寻找64KB个内存单元
【1】答案
0001H 到 0001H + FFFFH 也就是到 10000H
【2】答案
最小为1000H,最大为2000H
SA * 16 + EA = 20000H ...
阅读全文 |
评论次数(4) |
浏览次数(222) |
所属类型(汇编作业)
[2009-04-15 20:53] 检测题2.1
【1】纯计算问题
AX=F4A3
AX=31A3
AX=3123
AX=6246
BX=826C
CX=6246
AX=826C
AX=04D8
AX=0482
AX=6C82
AX=D882
AX=D888
AX=D810
AX=6246
【2】编程2的4次方
2 * 2 * 2 * 2 = 16
mov ax,2 执行后AX = 2
add ax,ax 执行后AX = 4
add ax,ax 执行后AX = 8
add ax,ax 执行后AX = 16...
AX=F4A3
AX=31A3
AX=3123
AX=6246
BX=826C
CX=6246
AX=826C
AX=04D8
AX=0482
AX=6C82
AX=D882
AX=D888
AX=D810
AX=6246
【2】编程2的4次方
2 * 2 * 2 * 2 = 16
mov ax,2 执行后AX = 2
add ax,ax 执行后AX = 4
add ax,ax 执行后AX = 8
add ax,ax 执行后AX = 16...
阅读全文 |
评论次数(1) |
浏览次数(186) |
所属类型(汇编作业)
[2009-04-14 22:30] 检测点1.1
【1】1个CPU的寻址能力为8KB,那么它的地址总线的宽度为
答案 13
8KB = 8192BYTE 可以寻找 8192个内存单元
编号为0~8191 最小的为0,最大的为8191
8191的二进制1 1111 1111 1111 。即2的13次方个
【2】1KB的存储器有____个存储单元。存储单元的编号从____到____。
答案 1024个,0到1023
【3】1KB的存储单元可以存储____个bit,____个byte.
答案 8192,1024
【4】1GB,1MB,1KB分别是____byte.
答案 1GB=1073741824byte 1MB=104...
答案 13
8KB = 8192BYTE 可以寻找 8192个内存单元
编号为0~8191 最小的为0,最大的为8191
8191的二进制1 1111 1111 1111 。即2的13次方个
【2】1KB的存储器有____个存储单元。存储单元的编号从____到____。
答案 1024个,0到1023
【3】1KB的存储单元可以存储____个bit,____个byte.
答案 8192,1024
【4】1GB,1MB,1KB分别是____byte.
答案 1GB=1073741824byte 1MB=104...
阅读全文 |
评论次数(1) |
浏览次数(235) |
所属类型(汇编作业)
[2009-04-14 22:01] 忘了作业是写检测点答案的,
今天才知道,作业是写检测点答案的.
晕死了,博客里写的乱套,糟糕透了
现在开始从第一章开始把所有的
检测点亲自做完再写到博客上....
晕死了,博客里写的乱套,糟糕透了
现在开始从第一章开始把所有的
检测点亲自做完再写到博客上....
阅读全文 |
评论次数(1) |
浏览次数(252) |
所属类型(汇编作业)