


- [klxo123] 嗯,谢谢指点。。。。 07/15 21:28
- [fpamc] 恩,对的。 mov ax,0 mov es,ax 有一组是多余的。 mov ax,cs 07/15 09:11
- [klxo123] 嗯,是啊,写时没想起来。。 嘿嘿,感谢提醒!!! 07/07 21:23
- [fpamc] 把mov cx,[si] 换成mov cl,[si] mov ch,0岂不是更好 07/07 21:06
- [fpamc] 恩。对的, 07/07 20:52
- [fpamc] 没问题。 06/24 15:07
- [klxo123] 编译后,链接时,不能用快捷方式,要一步一步完成 06/22 21:22
- [游客] 经测试,第8行3列,有时测试不成功,里面内容会自动更新,可以换其它行列测试正常! 06/22 14:48
- [klxo123] 看到了,昨晚困了,迷糊中看错了位置 解题思路没错,在第3条时,看错了位置,CALL指令下方,错把m 06/19 11:21
- [fpamc] 我说的是第二问。。 06/19 00:00
[2012-06-21 23:57] 实验10.1
;在显示器上显示第m行,第n列开始一段以0结束的字符串,颜色规定从1~10h;
;这里m=8,n=3
assume cs:code,ds:data
data segment
db 'welcome to masm!',0
db 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,10h
db 15 dup (0)
data ends
code segment
start:
mov ax,data
mov ss,ax
mov ds,ax
mov sp,30h...
;这里m=8,n=3
assume cs:code,ds:data
data segment
db 'welcome to masm!',0
db 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,10h
db 15 dup (0)
data ends
code segment
start:
mov ax,data
mov ss,ax
mov ds,ax
mov sp,30h...
阅读全文 |
评论次数(3) |
浏览次数(418) |
所属类型(默认类型)
[2012-06-21 15:24] JMP指令、CALL指令、RET指令和RETF指令整理
学习第十章时,常和第九章JMP命令混淆,故学习整理了下。。...
阅读全文 |
评论次数(0) |
浏览次数(337) |
所属类型(默认类型)
[2012-06-17 22:45] 10.4检测点
内存地址 机器码 汇编指令
1000:0 b8 06 00 mov ax,6
1000:2 ff d0 call ax
1000:5 40 inc ax
1000:6 mov bp,sp
add ax,[bp]
分析:
mov ax,6 ---> ax=6;
call ax ---> ip值 5h 存堆栈,然后读ax中值给IP,...
1000:0 b8 06 00 mov ax,6
1000:2 ff d0 call ax
1000:5 40 inc ax
1000:6 mov bp,sp
add ax,[bp]
分析:
mov ax,6 ---> ax=6;
call ax ---> ip值 5h 存堆栈,然后读ax中值给IP,...
阅读全文 |
评论次数(1) |
浏览次数(323) |
所属类型(默认类型)
[2012-06-17 22:16] 10.3检测点
内存地址 机器码 汇编指令
1000:0 b8 00 00 mov ax,0
1000:3 9a 09 00 00 10 call fat ptr s
1000:8 40 inc ax
1000:9 58 s: pop ax
add ax,ax
pop bx
add ax...
1000:0 b8 00 00 mov ax,0
1000:3 9a 09 00 00 10 call fat ptr s
1000:8 40 inc ax
1000:9 58 s: pop ax
add ax,ax
pop bx
add ax...
阅读全文 |
评论次数(1) |
浏览次数(320) |
所属类型(默认类型)
[2012-06-17 15:21] 10.2 检测
内存地址 机器码 汇编指令
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
程序执行后,AX中数值是:6
分析:
call执行过程,sp=sp-2,(ss*16+sp)=(ip)
即把IP内容压栈,因CS:IP指向下一条语句,ip=6,
pop ...
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
程序执行后,AX中数值是:6
分析:
call执行过程,sp=sp-2,(ss*16+sp)=(ip)
即把IP内容压栈,因CS:IP指向下一条语句,ip=6,
pop ...
阅读全文 |
评论次数(1) |
浏览次数(321) |
所属类型(默认类型)
[2012-06-17 15:03] 10.1检测
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,1000h
push ax
mov ax,0
push ax
retf
code ends
end start...
stack segment
db 16 dup (0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,16
mov ax,1000h
push ax
mov ax,0
push ax
retf
code ends
end start...
阅读全文 |
评论次数(1) |
浏览次数(308) |
所属类型(默认类型)
[2012-06-02 23:37] 关于第六章实验5.3,代码段基址、数据段基址、堆栈基址之间换算
学习到实验5,突然头脑糊涂了,重新快速阅读了前面章节,重点看了下 程序前缀PSP部分,PSP共256字节,PSP基址:SA,程序区基址SA+10H.看到这里突然想不起为是10H,256字节怎么换算知道是10H?
256-->换算16进制 --> 100H
又物理地址=EA*16+SA 则 100H/16 ---> 10H;
通过上面知识了解后,重看下实验5.3程序,算程序占34字节,即34/16=2.2,因段基址为16的倍数,则2.2为3。
不难得出:CODE段的段地址为X,则DATA段的段地址为 X+3 ,STACK段的段地址为 X+4...
256-->换算16进制 --> 100H
又物理地址=EA*16+SA 则 100H/16 ---> 10H;
通过上面知识了解后,重看下实验5.3程序,算程序占34字节,即34/16=2.2,因段基址为16的倍数,则2.2为3。
不难得出:CODE段的段地址为X,则DATA段的段地址为 X+3 ,STACK段的段地址为 X+4...
阅读全文 |
评论次数(1) |
浏览次数(192) |
所属类型(默认类型)
页码数(1):
1