程序如下:
assume cs:codesg
codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
dw 0,0,0,0,0,0,0,0
start:mov ax,cs
mov ss,ax
mov sp,24h
mov ax,0
mov ds,ax
mov bx,0
mov cx,8
s: push [bx]
pop cs:[bx]
add bx,2
loop s
mov ax,4c00h
int 21h
codesg ends
end s...
- [tomato] 正确。 05/04 14:10
- [tomato] 同实验2的最后一个题的最后一个小题的原因相同。 05/04 14:09
- [youzai] 请问IP改变的时机如何验证呢?我用debug的t命令,结果瞬间得出,根本无法看到IP修改的详细过程和 04/16 12:37
- [mess] 答案是4次,但是写出具体的ip改变时机更重要。(发博客自己可以编辑) 04/14 15:56
- [youzai] 重新温习书本,发现原来每次读取指令到指令缓冲器后IP都指向下一条指令,然后执行上条指令,执行完再读I 04/14 15:34
- [mess] 从实践中总结知识用法,不错^_^ 04/14 10:49
- [mess] 答案错误,并且要写出ip是什么时候改变的。 注意jmp指令执行修改了几次ip,且是什么时候~ 04/14 10:48
- [游客] 对于不能用mov 段寄存器,数据的,改成mov 段寄存器,寄存器进行试验,结果发现DS、ES、SS、 04/11 12:14
[2009-04-30 21:44] 检测点6.2作业
阅读全文 |
评论次数(1) |
浏览次数(398) |
所属类型(汇编作业)
[2009-04-30 20:58] 检测点6.1作业
该题要实现将内存0:0-0:15的数据写入程序中,空格处应该填入如下代码:
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
codesg ends
end start
以上代码通过编译运算通过,...
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
codesg ends
end start
以上代码通过编译运算通过,...
阅读全文 |
评论次数(1) |
浏览次数(350) |
所属类型(汇编作业)
[2009-04-11 11:31] 使用mov命令研究了下直接将数据写入寄存器的操作
书49页(第3章)说不能用mov将数据直接写入段寄存器,于是在debug里面用a命令对所有寄存器试验了下,过程如下
命令格式:mov 寄存器,10h
判断标准:如果没有任何反应,则说明可以这样操作,如果命令错误,则出现error,说明不能那样操作
结果:寄存器为AX、BX、CX、DX、SP、BP、SI、DI时可以修改
寄存器为DS、ES、SS、CS、IP时不能修改
以上表明在debug中用r命令列出的寄存器状态中,第一行的寄存器能用mov 寄存器,数据的方法修改,而第2行的寄存器是行不通的
不知道这种试验结果是否正确,欢迎老师检阅。...
命令格式:mov 寄存器,10h
判断标准:如果没有任何反应,则说明可以这样操作,如果命令错误,则出现error,说明不能那样操作
结果:寄存器为AX、BX、CX、DX、SP、BP、SI、DI时可以修改
寄存器为DS、ES、SS、CS、IP时不能修改
以上表明在debug中用r命令列出的寄存器状态中,第一行的寄存器能用mov 寄存器,数据的方法修改,而第2行的寄存器是行不通的
不知道这种试验结果是否正确,欢迎老师检阅。...
阅读全文 |
评论次数(2) |
浏览次数(604) |
所属类型(汇编作业)
[2009-04-10 16:35] 检测点2.3作业
解答:修改3次,每次都在命令执行后,最后ip的值为0...
阅读全文 |
评论次数(4) |
浏览次数(420) |
所属类型(汇编作业)