9.2
mov ch,00H
mov cl,[bx]
jcxz Ok
inc bx
9.3
inc cx...


- [chinatree] rep是串操作前缀,用Ecx做计数器。这3句是初始化临时变量,用eax的值来填充。 04/10 17:21
- [chinatree] 是这个理,要知道32位cpu有实模式和保护模式之分。实模式就只能用16位和8位,保护模式可以用32, 04/10 17:19
- [darkmoon] 首先谢谢tomato老师跟 chinatree老师。再追问一个问题,add是怎样影响标志位的?为什么 04/10 12:15
- [darkmoon] 谢谢。明白了。e是扩展的意思,在32位机下使用的。那么是不是说bp可以在32位机下使用,而ebp不可 04/10 12:04
- [chinatree] e是扩展,bp是16位,ebp是32位,bp是ebp的低16位。 04/10 11:04
- [tomato] 博主的这几个问题挺好。 add,sub指令会影响标志位,但是inc,dec指令不会影响标志位。 03/30 23:22
- [chinatree] 1.所有的传送指令都不会影响flag寄存器的标志位吗? 应该是,起码我不知道什么传送指令影响。 03/30 18:43
- [游客] 正确。 03/27 11:21
- [游客] 正确。 03/27 11:21
- [darkmoon] 哈哈···真的吗? 03/27 09:29
- [tomato] 可以连接也可以不连接,真正起作用的是程序中的指令设置。在有些情况下声明段寄存器连接是必须的,比如,段 03/31 09:06
[2012-03-27 10:09] 检测点9.2&&9.3
阅读全文 |
评论次数(1) |
浏览次数(306) |
所属类型(汇编作业)
[2012-03-27 10:06] 检测点9.1
(1)jmp word ptr [br+1] 说明跳转到ds:[bx+1]处.为了使
CS:IP指向程序第一条指令,ds:[bx+1]处的字单元应为0000h.
已给定bx=0,所以只要data数据段偏移量为1,2的单元值为00即可.
<1> dd 0
<2> db 3 dup(0)
(2)jmp dword ptr ds:[0]说明是段间转移.
ds:[0]处的双字单元为 1234 5678h.
替换双字单元的值为跳转的地址就行了.
mov [bx],offset start
mov [bx+2],cs
(3)(cs)=0006h ...
CS:IP指向程序第一条指令,ds:[bx+1]处的字单元应为0000h.
已给定bx=0,所以只要data数据段偏移量为1,2的单元值为00即可.
<1> dd 0
<2> db 3 dup(0)
(2)jmp dword ptr ds:[0]说明是段间转移.
ds:[0]处的双字单元为 1234 5678h.
替换双字单元的值为跳转的地址就行了.
mov [bx],offset start
mov [bx+2],cs
(3)(cs)=0006h ...
阅读全文 |
评论次数(1) |
浏览次数(291) |
所属类型(汇编作业)
[2012-03-25 13:14] 第九章 实验7 求判断正误,求改正
assume ds:datasg,cs:codesg,es:table
datasg 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'
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,19751...
datasg 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'
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,19751...
阅读全文 |
评论次数(2) |
浏览次数(279) |
所属类型(汇编作业)
页码数(1):
1