ASSUME CS:codesg,DS:datasg
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'
;以上是表示21年的21个字符串
DD 16,22,382,1356,2390,8000,16000,24486,5006...
- [xiaofengcanyue] 用DEBUG试了一下确实是6,呵呵……之前只是凭自己的理解也不去多思考,太懒了!! 05/10 23:00
- [游客] 那当前的IP是什么? 05/10 20:44
- [xiaofengcanyue] 不是将当前的IP压入栈吗?!!你说的那个是在计算位移时用的吧? 05/10 18:41
- [starrynight] 显示效果 保存为f.asm编译连接后直接运行: C:\DOCUME~1\ADMINI~1\m 05/09 22:25
- [starrynight] 在执行call s 时先将IP值改为下一条指令的地址 ax=3 ? 1016的 16进制是 05/09 22:21
- [xiaofengcanyue] 我以为编译连接通过就可以了,原来还差的远呢!! 04/07 15:39
- [xiaofengcanyue] this is the answer !did by myself. not the title 04/07 15:30
- [tomato] 博主看运行结果了吗?至少自己得在机子上调试结果正确才行啊!博主的程序还有问题,博主还要继续找问题,改 04/03 09:46
- [tomato] Oh!The answer is here.I do see that blog first,and 04/03 09:37
- [tomato] Only the title,where's the answer? 04/03 09:25
- [游客] 算不上什么汇编高手啦,学得也很一般。没写汇编作业,是因为这个网站之前已经将这本书学完了。哎,我学习那 04/07 21:16
- [xiaofengcanyue] 我的也很一般,检测题还没做完呢!!呵呵,惭愧。还是应该深入研究的。既然喜欢了就不要放弃…… 03/24 08:01
- [游客] 你的汇编学得不错吧?我是学不来,考试就着急。 01/10 01:29
[2008-05-08 22:30] 修改的实验七
阅读全文 |
评论次数(1) |
浏览次数(992) |
所属类型(汇编作业)
[2008-05-08 21:07] 检测点10.1~10.5
mov ax,1000
mov ax,0
*******************************************************
ax=3 ;在执行call s 时先将IP值改为下一条指令的地址
*******************************************************
ax=1016 ;16进制 1010H!!!!!!!!!!
**********************...
mov ax,0
*******************************************************
ax=3 ;在执行call s 时先将IP值改为下一条指令的地址
*******************************************************
ax=1016 ;16进制 1010H!!!!!!!!!!
**********************...
阅读全文 |
评论次数(4) |
浏览次数(994) |
所属类型(汇编作业)
[2008-05-08 21:00] 第十章学习笔记
第十章 call和ret指令
总介:call和ret指令都是转移指令,他们都能修改IP或同时修改CS和IP
1. ret和retf:
ret修改IP的内容,实现近转移。
CPU执行如下操作:
⑴(IP)=((SS)*16+(SP))
⑵(SP)=(SP)+2
可以看作: pop IP
retf修改CS和IP的内容,实现远转移。
CPU执行...
总介:call和ret指令都是转移指令,他们都能修改IP或同时修改CS和IP
1. ret和retf:
ret修改IP的内容,实现近转移。
CPU执行如下操作:
⑴(IP)=((SS)*16+(SP))
⑵(SP)=(SP)+2
可以看作: pop IP
retf修改CS和IP的内容,实现远转移。
CPU执行...
阅读全文 |
评论次数(0) |
浏览次数(724) |
所属类型(学习笔记)
[2008-04-01 22:26] 实验九
ASSUME CS:codesg,DS:datasg ; P 186 6E0
datasg SEGMENT
DB 'welcome to masm!'
DB 02H,24H,71H
datasg ENDS
codesg SEGMENT
start: MOV AX,datasg
MOV DS,AX
MOV AX,0b800H
MOV ES,AX
MOV BX,06e0H
MOV DI,10H
MOV CX,3
agai...
datasg SEGMENT
DB 'welcome to masm!'
DB 02H,24H,71H
datasg ENDS
codesg SEGMENT
start: MOV AX,datasg
MOV DS,AX
MOV AX,0b800H
MOV ES,AX
MOV BX,06e0H
MOV DI,10H
MOV CX,3
agai...
阅读全文 |
评论次数(2) |
浏览次数(748) |
所属类型(汇编作业)
[2008-04-01 22:11] 实验五
assume cs:code,ds:data,ss:stack
data segment
dw 0123H,0456H,0789H,0abcH,0defH,0fedH,0cbaH,0987H
data ends
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
...
data segment
dw 0123H,0456H,0789H,0abcH,0defH,0fedH,0cbaH,0987H
data ends
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
...
阅读全文 |
评论次数(2) |
浏览次数(923) |
所属类型(汇编作业)
[2008-04-01 22:03] 实验七
assume cs:codesg,ds:datasg
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'
;以上是表示21年的21个字符串
dd 16,22,382,1356,2390,8000,16000,24486,5006...
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'
;以上是表示21年的21个字符串
dd 16,22,382,1356,2390,8000,16000,24486,5006...
阅读全文 |
评论次数(2) |
浏览次数(993) |
所属类型(汇编作业)
[2008-03-31 21:36] 检测点6.1
(1)
mov cs:[bx],ax
(2)
mov ax,cs
mov sp,10 ;1ah
pop cs:[bx]...
mov cs:[bx],ax
(2)
mov ax,cs
mov sp,10 ;1ah
pop cs:[bx]...
阅读全文 |
评论次数(2) |
浏览次数(996) |
所属类型(汇编作业)
[2008-03-31 21:28] 实验五
1. (1)0123h 0456h 0789h 0abch 0defh 0fedh 0cbah 0987h
(2)cs=1444; ss=1443; ds=1442
(3)x-2; x-1
2. (1)不变
(2)cs=1444; ss=1443; ds=1442
(3)x-2; x-1
(4)(N/16+1)*16 ?不太理解;为保持前后段之间的段地址不同!
3. (1)不变
(2)cs=1442; ss=1446; ds=1445
(3)x+3; x+4
4. 第三个能正常执行,因为他的代码段在前。编译器自上而下的执行,不会出错!!...
(2)cs=1444; ss=1443; ds=1442
(3)x-2; x-1
2. (1)不变
(2)cs=1444; ss=1443; ds=1442
(3)x-2; x-1
(4)(N/16+1)*16 ?不太理解;为保持前后段之间的段地址不同!
3. (1)不变
(2)cs=1442; ss=1446; ds=1445
(3)x+3; x+4
4. 第三个能正常执行,因为他的代码段在前。编译器自上而下的执行,不会出错!!...
阅读全文 |
评论次数(3) |
浏览次数(1054) |
所属类型(汇编作业)
[2008-03-31 21:26] 第六章包含多个段的程序
将数据和指令放在一个段内:
必须注明指令的开始。
END的重要用途: ① 通知编译器程序结束
② 还可以通知编译器程序的入口。
格式: start:…………end start start即程序的入口。
程序框架:
Assume cs:code
Code segment
数据
Start:
代码
Code ends
End start
将数据、代码和...
必须注明指令的开始。
END的重要用途: ① 通知编译器程序结束
② 还可以通知编译器程序的入口。
格式: start:…………end start start即程序的入口。
程序框架:
Assume cs:code
Code segment
数据
Start:
代码
Code ends
End start
将数据、代码和...
阅读全文 |
评论次数(0) |
浏览次数(693) |
所属类型(学习笔记)
[2008-03-30 20:52] 实验四
assume cs:code
code segment
mov ax,0020H
mov ds,ax
mov bx,0 ;可以换成BL
mov cx,40H
again: mov ds:[bx],bx ;后一个BX可以换成BL
inc bx
loop again
mov ax,4c00H
int 21H
code ends
end
assume cs:code
code segment
mov ax,0020H
mov ds,ax
...
code segment
mov ax,0020H
mov ds,ax
mov bx,0 ;可以换成BL
mov cx,40H
again: mov ds:[bx],bx ;后一个BX可以换成BL
inc bx
loop again
mov ax,4c00H
int 21H
code ends
end
assume cs:code
code segment
mov ax,0020H
mov ds,ax
...
阅读全文 |
评论次数(1) |
浏览次数(700) |
所属类型(汇编作业)
『 查看更多文章 』