监测点10.5 下面程序执行后 AX中的值是多少?
1000:0000 B80000 MOV AX,0000
1000:0003 8ED0 MOV SS,AX
1000:0005 BC1000 MOV SP,0010
1000:0008 8ED8 MOV DS,AX
1000:000A B80000 MOV AX,0000
1000:000D FF160E00 CALL [000E]
1000:0011 40 INC ...
- [aminggdwh] jcxz ok 应在 inc BX之前,这样就不会改变了BX的值 10/31 14:52
- [dustym] 第二次 修改 assume cs:code,ds:data data segment db ' 10/17 10:29
- [447861996] 独立,强大。 10/13 15:49
- [gyq] 嗯,我来了。 你把程序改对了; 另外,这个程序还有可以改进的地方。 10/10 20:00
- [dustym] 哇,领导你来了 10/10 17:14
- [gyq] 。 10/10 14:41
- [gyq] 结果不对,建议在第一个循环里面初始化bp。 10/10 14:38
- [dustym] 哈哈,知道咯,谢谢你 10/05 23:31
- [447861996] tute字节型 wodr字型 ———————— 写错了吧? 这篇文档中挺多错别字的,希 10/03 13:19
- [dustym] 懂了,哈,谢谢 09/18 12:19
- [dustym] 嗯嗯,知道了,我会加油的,谢谢 08/27 19:22
- [gyq] 建议目前先不要去想外部的题怎么样,先专心把书上的学扎实。 08/27 13:59
- [gyq] 先不着急,把书本上的都理解了,要求实践的东西都实践了,然后以此为基础向后学习。第四章才开始写程序。 08/27 13:57
- [dustym] 开始第四章,进度缓慢哈,书里不懂的问题都懂了,着只是局限性于书里的课后题,外部的题不知道会不会,所以 08/26 18:59
- [gyq] 你学到多少章了?课后题都完成情况如何,都能理解么? 08/26 13:55
[2014-10-17 14:49] 监测点10.5、① ②
阅读全文 |
评论次数(0) |
浏览次数(526) |
所属类型(汇编作业)
[2014-10-17 10:46] 监测点 10.1~10.4
监测点10.1
补全程序,实现内存1000:0000处开始执行指令
assumen cs:code
stack segment
db 16 dup (0)
stack ends
code segment
start:
mov ax,stack
mov ss,ac
mov sp,16
mov ax,1000 ←
push ax
mov ax,0 ←
push ax
retf
code ends
end start
10.2监测点下面的程序执行后~ax中的数值是多少?
1000:0 b8 00 00 mov ax,0
1000:3 e8 0...
补全程序,实现内存1000:0000处开始执行指令
assumen cs:code
stack segment
db 16 dup (0)
stack ends
code segment
start:
mov ax,stack
mov ss,ac
mov sp,16
mov ax,1000 ←
push ax
mov ax,0 ←
push ax
retf
code ends
end start
10.2监测点下面的程序执行后~ax中的数值是多少?
1000:0 b8 00 00 mov ax,0
1000:3 e8 0...
阅读全文 |
评论次数(0) |
浏览次数(539) |
所属类型(汇编作业)
[2014-10-17 10:40] 第十章 学习笔记
CAll和RET指令都是转移指令,他们都修改IP,或同事修改CS和IP
RET指令:用栈中的数据,修改IP的内容 ,从而实现近转移-128-127字节
retf指令:用栈中的数据,修改CS和IP的内容,从而实现远转移
cpu执行ret时出栈栈中内容 sp+2
cpu执行retf时 先出栈ip内容 sp+2 在出栈cs内容 sp+2
ret相当于POP ip retf相当于 pop ip pop cs
10.2 call指令
cpu执行call指令时,进行两部操作
①:将当前的IP或cs和ip入栈中
②:转移
call指令不能实现段转移,除此之外,call指令实现转...
RET指令:用栈中的数据,修改IP的内容 ,从而实现近转移-128-127字节
retf指令:用栈中的数据,修改CS和IP的内容,从而实现远转移
cpu执行ret时出栈栈中内容 sp+2
cpu执行retf时 先出栈ip内容 sp+2 在出栈cs内容 sp+2
ret相当于POP ip retf相当于 pop ip pop cs
10.2 call指令
cpu执行call指令时,进行两部操作
①:将当前的IP或cs和ip入栈中
②:转移
call指令不能实现段转移,除此之外,call指令实现转...
阅读全文 |
评论次数(0) |
浏览次数(483) |
所属类型(第二月 6~N章)
[2014-10-09 22:50] 第九章 实验九
assume cs:code,ds:data
data segment
db '!welcome to masm!'
data ends
code segment
start:mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax ;ex=b800
mov bx,500h ;变量初始化 每行80个字符 也就是160字节取中间的一行,用最笨的方法,一个一个加上去,
mov si,0
mov cx,16;循环次数
...
data segment
db '!welcome to masm!'
data ends
code segment
start:mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax ;ex=b800
mov bx,500h ;变量初始化 每行80个字符 也就是160字节取中间的一行,用最笨的方法,一个一个加上去,
mov si,0
mov cx,16;循环次数
...
阅读全文 |
评论次数(4) |
浏览次数(744) |
所属类型(汇编作业)
[2014-10-07 23:35] gyq领导!人呢?好久不见了,
。。。感觉好孤单呐,没你在好无聊滴。...
阅读全文 |
评论次数(2) |
浏览次数(773) |
所属类型(汇编作业)
[2014-10-04 17:40] 9.3 监测点 不对之处 望批评指正
;补全编程,利用loop指令,
;实现内存2000H段中查找第一个值为0的字节,找到后,
;将他的偏移地址存储在DX中。
assume cs:code
code segment
start:mov ax,200h
mov ds,ax
mov bx,0
s:mov cl,[bx]
mov ch,0
inc cx;设置Cx每次+1
inc bx
loop s
ok:dec bx
mov dx,bx
mov ax,4c00H
int 21H
code ends
end start...
;实现内存2000H段中查找第一个值为0的字节,找到后,
;将他的偏移地址存储在DX中。
assume cs:code
code segment
start:mov ax,200h
mov ds,ax
mov bx,0
s:mov cl,[bx]
mov ch,0
inc cx;设置Cx每次+1
inc bx
loop s
ok:dec bx
mov dx,bx
mov ax,4c00H
int 21H
code ends
end start...
阅读全文 |
评论次数(0) |
浏览次数(602) |
所属类型(汇编作业)
[2014-10-04 17:39] 9.2监测点 不对之处 望批评指正
assume cs:code
code segment
start:mov ax,200h ;本机2000处全是0 修改为200 方便测试
mov ds,ax
mov bx,0
s:mov cx,0
mov cl,ds:[bx] ;bx中的值赋值给CL 让改写CX中的值 如果BX=0 CX也等于0则跳出循环
inc bx
jcxz ok ;CX等于0时转移到OK标号处执行
jmp short s
ok:mov dx,bx
mov ax,4c00h
int 21h
...
code segment
start:mov ax,200h ;本机2000处全是0 修改为200 方便测试
mov ds,ax
mov bx,0
s:mov cx,0
mov cl,ds:[bx] ;bx中的值赋值给CL 让改写CX中的值 如果BX=0 CX也等于0则跳出循环
inc bx
jcxz ok ;CX等于0时转移到OK标号处执行
jmp short s
ok:mov dx,bx
mov ax,4c00h
int 21h
...
阅读全文 |
评论次数(1) |
浏览次数(790) |
所属类型(汇编作业)
[2014-10-04 17:38] 9.1.2~9.1.3 监测点 不对之处 望批评指正
assume cs:code
data segment
dd 12345678H ;
data ends
code segment
start:mov ax,data
mov ds,ax
mov bx,0
mov [bx],start ;start赋值给【BX】
mov [bx+2],code ;code代码段开始,赋值给ds:[2]处
jmp dword ptr ds:[0]
mov ax,4c00h
int 21h
code ends
end start
;补全程序,使jmp指令执行后,cs:ip指...
data segment
dd 12345678H ;
data ends
code segment
start:mov ax,data
mov ds,ax
mov bx,0
mov [bx],start ;start赋值给【BX】
mov [bx+2],code ;code代码段开始,赋值给ds:[2]处
jmp dword ptr ds:[0]
mov ax,4c00h
int 21h
code ends
end start
;补全程序,使jmp指令执行后,cs:ip指...
阅读全文 |
评论次数(0) |
浏览次数(555) |
所属类型(汇编作业)
[2014-10-04 17:37] 监测点 9.1 错误之处 望批评指正
assume cs:code
data segment
dw 0,0,0,0,0,0,0,0
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中段中应该定义哪些数据?...
data segment
dw 0,0,0,0,0,0,0,0
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中段中应该定义哪些数据?...
阅读全文 |
评论次数(0) |
浏览次数(524) |
所属类型(汇编作业)
[2014-10-02 18:30] 第九章
第九章 9.1
操作符 OFFSET
操作符 offset在汇编语言中是由编译器处理的符号,她的功能是(取得标号的偏移地址)
比如
S:MOV AX,BX
MOV SI,OFFEST S ;OFFSET 取到(标号S)的偏移地址发送给SI
MOV DI,OFFEST S0 ;OFFSET 取到(标号S0)的偏移地址发送给DI
MOV AX,CS:[SI] ;OFFSET获取到标号S的地址 发送给AX
MOV CS:[DI],AX ;通过AX转接发送给标号S0
S0:NOP
NOP
JMP : 无条件 跳转指令,可以只修改IP,也可以同时修改...
操作符 OFFSET
操作符 offset在汇编语言中是由编译器处理的符号,她的功能是(取得标号的偏移地址)
比如
S:MOV AX,BX
MOV SI,OFFEST S ;OFFSET 取到(标号S)的偏移地址发送给SI
MOV DI,OFFEST S0 ;OFFSET 取到(标号S0)的偏移地址发送给DI
MOV AX,CS:[SI] ;OFFSET获取到标号S的地址 发送给AX
MOV CS:[DI],AX ;通过AX转接发送给标号S0
S0:NOP
NOP
JMP : 无条件 跳转指令,可以只修改IP,也可以同时修改...
阅读全文 |
评论次数(0) |
浏览次数(578) |
所属类型(第二月 6~N章)
『 查看更多文章 』