



- [qiangzi] (3)中的cs好像不对 01/21 19:13
- [游客] 很厉害 ^_^ 01/11 17:29
- [thefire] 恩。 11/10 19:15
- [214312153] inc bx和jcxz ok 应该调换下位置吧?不然存储在DX中的偏移地址多加了1 11/10 18:11
- [lukan727] 撒花…… 11/03 20:59
- [mess] 关键点就是相对位移,博主分析的很对。 10/29 15:24
- [younggay] 没问题。 10/21 11:22
- [tinyparticle] 正确 10/13 18:49
- [thefire] 哎,还得多注意呀,刚才做检测题又犯毛病了 多谢多谢! 10/08 15:12
- [mess] 有一句话叫“细节决定成败”,博主继续加油啊~ 10/08 15:09
[2010-01-08 22:22] 实验17及测试
实验17代码:(安装int 7ch)
assume cs:code
stack segment
db 128 dup(0)
stack ends
code segment
start:
;首先安装程序
mov ax,cs
mov ds,ax
;把新中断例程装入目的地址
mov si,offset int7c
mov ax,0
mov es,ax
mov di,200h
mov cx,offset int7cend-offset int7c
cld
rep movsb...
assume cs:code
stack segment
db 128 dup(0)
stack ends
code segment
start:
;首先安装程序
mov ax,cs
mov ds,ax
;把新中断例程装入目的地址
mov si,offset int7c
mov ax,0
mov es,ax
mov di,200h
mov cx,offset int7cend-offset int7c
cld
rep movsb...
阅读全文 |
评论次数(0) |
浏览次数(492) |
所属类型(汇编作业)
[2010-01-08 19:04] 关于实验16的疑惑以及解惑
前面的几个实验都做了,不过不是在自己电脑上做的。代码没有整理,也就不贴过来了。
这个实验里有两个疑惑:1.如果把start标号后的内容放到要安装的代码之前就会出错;2.如果把cs设为0,ip设为200h.也会出错,只有将cs设为20h,ip设为0才行。
从论坛中找到一个解释:
http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=book&kind=1219&qkSg=2&qID=1502&readSg=1
关于第一个疑惑:table dw sub1……中SUB1存放的应该是子程序的偏移地址,这个偏移地址是相对于中...
这个实验里有两个疑惑:1.如果把start标号后的内容放到要安装的代码之前就会出错;2.如果把cs设为0,ip设为200h.也会出错,只有将cs设为20h,ip设为0才行。
从论坛中找到一个解释:
http://www.asmedu.net/bbs/pasteinfo.jsp?part=1&level=book&kind=1219&qkSg=2&qID=1502&readSg=1
关于第一个疑惑:table dw sub1……中SUB1存放的应该是子程序的偏移地址,这个偏移地址是相对于中...
阅读全文 |
评论次数(0) |
浏览次数(544) |
所属类型(汇编作业)
[2009-12-24 10:51] 实验十一 编写子程序
好长时间没看汇编了,该考试了
assume cs:codesg
datasg segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
datasg ends
codesg segment
begin:
mov ax,datasg
mov ds,ax
mov si,0
call letterc
mov ax,4c00h
int 12h
letterc:
mov al,[si]
cmp al,97 ;如果大于等于97,并且小于等于122(说明是小写字母)
jb ...
assume cs:codesg
datasg segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
datasg ends
codesg segment
begin:
mov ax,datasg
mov ds,ax
mov si,0
call letterc
mov ax,4c00h
int 12h
letterc:
mov al,[si]
cmp al,97 ;如果大于等于97,并且小于等于122(说明是小写字母)
jb ...
阅读全文 |
评论次数(0) |
浏览次数(512) |
所属类型(汇编作业)
[2009-11-10 21:24] 课程设计一
assume cs:codesg
data 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,50065,97479,140417,197514
dd 345980,590827,80...
data 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,50065,97479,140417,197514
dd 345980,590827,80...
阅读全文 |
评论次数(0) |
浏览次数(468) |
所属类型(汇编作业)
[2009-11-09 14:29] 实验十 编写子程序
也不知道写的对不对,且发上来,等待大侠们的指点
;程序说明,其中用到了实验中两个子程序:show_str和dtoc,
;功能:将ax中的数据转换为字符的形式显示出来。
;本来想把那个divdw的子程序也加进来,发现加入之后就乱了。
assume cs:code
data segment
db 10 dup(0)
data ends
code segment
start:mov ax,62666
mov bx,data
mov ds,bx
mov si,0
call dtoc
mov dh,8
mov dl,3
...
;程序说明,其中用到了实验中两个子程序:show_str和dtoc,
;功能:将ax中的数据转换为字符的形式显示出来。
;本来想把那个divdw的子程序也加进来,发现加入之后就乱了。
assume cs:code
data segment
db 10 dup(0)
data ends
code segment
start:mov ax,62666
mov bx,data
mov ds,bx
mov si,0
call dtoc
mov dh,8
mov dl,3
...
阅读全文 |
评论次数(0) |
浏览次数(405) |
所属类型(汇编作业)
[2009-11-02 11:59] 检测点10.5
(1)下面的程序执行后,ax中的数值为多少?(注意:用call 指令的原理来分析,不要再Debug中单步跟踪来验证你的结论。对于此程序,在debug中单步跟踪的结果,不能代表cpu的实际执行结果)
assume cs:code
data segment
dw 8 dup(0)
data ends
code segment
start:mov ax,data
mov ss,ax
mov sp,16
mov ds,ax
mov ax,0
call word ptr ds:[0eh]
inc ax
inc ax
inc a...
assume cs:code
data segment
dw 8 dup(0)
data ends
code segment
start:mov ax,data
mov ss,ax
mov sp,16
mov ds,ax
mov ax,0
call word ptr ds:[0eh]
inc ax
inc ax
inc a...
阅读全文 |
评论次数(0) |
浏览次数(544) |
所属类型(汇编作业)
[2009-11-01 20:09] 检测点10.4
下面的程序执行后,ax中的数值为多少?
内存地址 机器码 汇编指令
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]
结果ax=Bh...
内存地址 机器码 汇编指令
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]
结果ax=Bh...
阅读全文 |
评论次数(0) |
浏览次数(500) |
所属类型(汇编作业)
[2009-11-01 20:04] 检测点10.3
下面的程序执行后,ax中的数值为多少?
内存地址 机器码 汇编指令
1000:0 b8 00 00 mov ax,0
1000:3 9a 09 00 01 00 call far ptr s
1000:6 40 inc ax
1000:7 58 s:pop ax
add ax,ax
pop bx
add ax,bx
ax=1010...
内存地址 机器码 汇编指令
1000:0 b8 00 00 mov ax,0
1000:3 9a 09 00 01 00 call far ptr s
1000:6 40 inc ax
1000:7 58 s:pop ax
add ax,ax
pop bx
add ax,bx
ax=1010...
阅读全文 |
评论次数(0) |
浏览次数(470) |
所属类型(汇编作业)
[2009-11-01 19:57] 检测点10.2
下面的程序执行后,ax中的数值为多少?
内存地址 机器码 汇编指令
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...
内存地址 机器码 汇编指令
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...
阅读全文 |
评论次数(0) |
浏览次数(237) |
所属类型(汇编作业)
[2009-11-01 19:48] 检测点10.1
补全程序,实现从内存1000:0000处开始执行指令。
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...
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...
阅读全文 |
评论次数(0) |
浏览次数(221) |
所属类型(汇编作业)