写出下面每条指令执行后,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 ZF=____PF=____SF=____
答:
sub al,al ;运算指令,影响标志位。指令...
- [lshang] 8个通用寄存器用了7个。。 如果先复制雇佣人数的话只能用bp中转 但是用bp就太不伦不类了。。 06/12 10:44
- [tily] 你先DIV算出“人均收入”,之后再复制“雇员数”好像跟我碰到一样的问题 就是先复制“雇员数”AX中的 06/11 21:48
- [lshang] 额 可能是因为型号不一样? Microsoft Windows [Version 6.1.76 06/06 17:19
- [lshang] 当前AX的值不就是2的8次方么? 1)ADD AX,AX AX = 2 ;2^1 JMP 06/06 17:13
- [游客] 写的不错,加油 06/06 17:05
- [游客] 写的不错,加油 06/06 17:04
- [lshang] right演示? 没懂 06/06 17:03
- [游客] 这样子是没有结果的。不行;请你思考:得到2的8次方,一共执行的多少次(运行了多少-t)? 06/06 16:59
- [游客] 只读存储器中的内容是不可改的,你的怎么可以呢? 下面是我电脑的运行结果: C:\masm5.0> 06/06 16:56
- [游客] right演示 06/06 16:49
[2011-06-26 11:31] 检测点11.1
阅读全文 |
评论次数(0) |
浏览次数(796) |
所属类型(汇编作业)
[2011-06-21 16:36] 课程设计一
assume cs:code ,ds:data ,ss:stack
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
db '1993','1994','1995' ;54H
dd 16,22,382,1356,2390,8000,16000,24486,5006...
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
db '1993','1994','1995' ;54H
dd 16,22,382,1356,2390,8000,16000,24486,5006...
阅读全文 |
评论次数(0) |
浏览次数(841) |
所属类型(实验任务)
[2011-06-19 18:16] 实验十
1.显示字符串
子程序描述:
名称:show_str
功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串。
参数:(dh) = 行号(取值范围0~24),(dl) = 列号(取值范围0~79),
(cl) = 颜色,ds:si指向字符串的首地址
返回:无
——————————————————————————————————
show_str:
push bp
mov bp,sp
push ax
push cx
push bx
push ds
push es
push si
mov ...
子程序描述:
名称:show_str
功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串。
参数:(dh) = 行号(取值范围0~24),(dl) = 列号(取值范围0~79),
(cl) = 颜色,ds:si指向字符串的首地址
返回:无
——————————————————————————————————
show_str:
push bp
mov bp,sp
push ax
push cx
push bx
push ds
push es
push si
mov ...
阅读全文 |
评论次数(0) |
浏览次数(907) |
所属类型(实验任务)
[2011-06-18 15:53] 检测点10.5
(1)下面的程序执行后,ax中的数值为多少?(注意:用call指令的原理来分析,不要再Debug中单步跟踪来验证你的结论。对于此程序,在Debug中单步跟踪的结果,不能代表CPU的实际执行结果。)
assume cs:code
stack segment
dw 8 dup (0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,16
mov ds,ax
mov ax,0
call word ptr ds:[0EH]
inc ax
in...
assume cs:code
stack segment
dw 8 dup (0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,16
mov ds,ax
mov ax,0
call word ptr ds:[0EH]
inc ax
in...
阅读全文 |
评论次数(0) |
浏览次数(948) |
所属类型(汇编作业)
[2011-06-18 13:24] 检测点10.4
下面的程序执行后,ax中的数值为多少?
内存地址 机器码 汇编指令
1000:0 b8 06 00 mov ax,6
1000:3 ff d0 call ax
1000:5 40 inc ax
1000:6 mov bp,sp
add ax,[bp]
解:
call指令为转移指令
call 16位 reg格式 指令执行的是近转移
指令执行时
(SP) = (SP) - 2
((SS) * 10H + (SP)) = (IP)
(IP) = (1...
内存地址 机器码 汇编指令
1000:0 b8 06 00 mov ax,6
1000:3 ff d0 call ax
1000:5 40 inc ax
1000:6 mov bp,sp
add ax,[bp]
解:
call指令为转移指令
call 16位 reg格式 指令执行的是近转移
指令执行时
(SP) = (SP) - 2
((SS) * 10H + (SP)) = (IP)
(IP) = (1...
阅读全文 |
评论次数(0) |
浏览次数(864) |
所属类型(汇编作业)
[2011-06-18 08:59] 检测点10.3
下面的程序执行后,ax中的数值为多少
内存地址 机器码 汇编指令
1000:0 b8 00 00 mov ax,0
1000:3 9A 09 00 00 10 call far ptr s
1000:8 40 inc ax
1000:9 58 s:pop ax
add ax,ax
pop bx
add ax,bx
解:
call为转移指令
call far ptr 标号 实现的是段间转移
指令执行时
(SP) = (SP) - 2;
((SS) * 10H + (SP)...
内存地址 机器码 汇编指令
1000:0 b8 00 00 mov ax,0
1000:3 9A 09 00 00 10 call far ptr s
1000:8 40 inc ax
1000:9 58 s:pop ax
add ax,ax
pop bx
add ax,bx
解:
call为转移指令
call far ptr 标号 实现的是段间转移
指令执行时
(SP) = (SP) - 2;
((SS) * 10H + (SP)...
阅读全文 |
评论次数(0) |
浏览次数(906) |
所属类型(汇编作业)
[2011-06-17 17:19] 检测点10.2
下面的程序执行后,ax中的数值为多少?
内存地址 机器码 汇编指令
1000:0 b8 00 00 mov ax,0
1000:3 e8 01 00 call S
1000:6 40 inc ax
1000:7 58 S:pop ax
————————————————————————————
解:
call指令为转移指令
call 标号 这种格式依靠位移进行转移
指令执行时
(SP) = (SP)-2;
((SS) * 10H + (SP)) = (IP);
(IP) = (IP) + 16位位移;
...
内存地址 机器码 汇编指令
1000:0 b8 00 00 mov ax,0
1000:3 e8 01 00 call S
1000:6 40 inc ax
1000:7 58 S:pop ax
————————————————————————————
解:
call指令为转移指令
call 标号 这种格式依靠位移进行转移
指令执行时
(SP) = (SP)-2;
((SS) * 10H + (SP)) = (IP);
(IP) = (IP) + 16位位移;
...
阅读全文 |
评论次数(0) |
浏览次数(795) |
所属类型(汇编作业)
[2011-06-17 14:30] 检测点10.1
补全程序,实现从内存1000:0000处开始执行指令。
assume cs:code
stack segment
db 16 dup (0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,16
mov ax,______
push ax
mov ax,______
push ax
retf
code ends
end start
—————————————————————————————————————
解:
ret...
assume cs:code
stack segment
db 16 dup (0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,16
mov ax,______
push ax
mov ax,______
push ax
retf
code ends
end start
—————————————————————————————————————
解:
ret...
阅读全文 |
评论次数(0) |
浏览次数(853) |
所属类型(汇编作业)
[2011-06-16 15:21] 实验九
编程:在屏幕中间分别显示绿色、绿底红色、白底蓝色的字符串'welcome to masm!'。
assume cs:code ,ds:data
data segment
db 'welcome to masm!'
db 02H ,24H ,71H ;以上部分定义了字符串及属性值
data ends
code segment
start:
mov ax,data
mov ds,ax
mov ax,0B800H
mov es,ax ;以上部分初始化段寄存器
mov bx,67EH ;67EH指向屏幕中间第0行
mov di...
assume cs:code ,ds:data
data segment
db 'welcome to masm!'
db 02H ,24H ,71H ;以上部分定义了字符串及属性值
data ends
code segment
start:
mov ax,data
mov ds,ax
mov ax,0B800H
mov es,ax ;以上部分初始化段寄存器
mov bx,67EH ;67EH指向屏幕中间第0行
mov di...
阅读全文 |
评论次数(0) |
浏览次数(751) |
所属类型(实验任务)
[2011-06-16 11:29] 实验八
分析下边的程序,运行前思考:这个程序可以正确返回吗?
运行后再思考:为什么会是这种结果?
assume cs:code
code segment
mov ax,4C00H
int 21H
start:
mov ax,0
S:
nop
nop
mov di,offset S
mov si,offset S2
mov ax,cs:[si]
mov cs:[di],ax
S0:
jmp short S
S1:
mov ax,0
int 21H
mov ax,0
S2:
j...
运行后再思考:为什么会是这种结果?
assume cs:code
code segment
mov ax,4C00H
int 21H
start:
mov ax,0
S:
nop
nop
mov di,offset S
mov si,offset S2
mov ax,cs:[si]
mov cs:[di],ax
S0:
jmp short S
S1:
mov ax,0
int 21H
mov ax,0
S2:
j...
阅读全文 |
评论次数(0) |
浏览次数(835) |
所属类型(实验任务)
『 查看更多文章 』