;调试了一下午,放弃了,程序实在找不出错了,用的windows7,cmd和command不行,装了虚拟机也不行,只要往0:[36]里写值就溢栈,不可能再装个实DOS调了,先放这里。
;按评论达人指出的错误进行了编辑修改了。
assume cs:code
stack segment
db 128 dup(0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,32
mov ax,0
mov es,ax
push es:[36]
pop es:[200h]
push...
- [游客] 我认为还是下面的代码正确 letterc: push si ltc_s 05/25 22:29
- [flong158] 是的,您说得对,太感谢了。 我在书上的例子上也看到了有pushf而没popf,但没有深究,以为 05/24 22:34
- [游客] 博主的错误之处在于没有理解 pushf call dword ptr cs:[200h] 05/24 17:43
- [flong158] 在多次调试中,有一次见鬼一样的成功了,满屏A,但是死那儿,不返回了,想找下是不是有错,却再也没见过一 05/23 22:54
- [mywiil] 上面的思路就好多了,注意and和or指令的灵活应用。 05/22 15:33
- [mywiil] 程序没有问题。 05/22 14:22
- [mywiil] 程序没有问题。 建议 多灵活使用指令 ,比如 cmp cl,0 je ... 可以用jcx 05/22 13:36
- [mywiil] 程序功能貌似没问题,但是你实现int 7ch的时候,逻辑上是不太合理,比如 mov cx,10 05/22 13:31
- [mywiil] 编程任务完成。另外,年份的前两位叫做世纪码,在另外的端口出存放,博主可以查一下,显示出完全的年份。 05/22 13:22
- [flong158] letterc: push si ltc_s: cmp byte ptr ds:[si],0 05/18 02:12
[2010-05-23 22:53] 第十五章 实验15
阅读全文 |
评论次数(3) |
浏览次数(528) |
所属类型(汇编作业)
[2010-05-22 12:38] 第十四章 实验14
assume cs:code
data segment
db 0,0,'/',0,0,'/',0,0,20h,0,0,':',0,0,':',0,0,'$'
data ends
code segment
start: mov ax,data
mov ds,ax
mov di,9
mov si,0
mov cl,3
s: push cx
mov ax,di
out 70h,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add ah,30h
ad...
data segment
db 0,0,'/',0,0,'/',0,0,20h,0,0,':',0,0,':',0,0,'$'
data ends
code segment
start: mov ax,data
mov ds,ax
mov di,9
mov si,0
mov cl,3
s: push cx
mov ax,di
out 70h,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add ah,30h
ad...
阅读全文 |
评论次数(1) |
浏览次数(457) |
所属类型(汇编作业)
[2010-05-21 01:48] 第十三章 实验13(2)
assume cs:code
data segment
db 'Hello World!'
data ends
code segment
start: mov ax,0
mov es,ax
mov word ptr es:[7ch*4],0200h
mov word ptr es:[7ch*4][2],0000h
mov ax,cs
mov ds,ax
mov si,offset int7c
mov di,200h
...
data segment
db 'Hello World!'
data ends
code segment
start: mov ax,0
mov es,ax
mov word ptr es:[7ch*4],0200h
mov word ptr es:[7ch*4][2],0000h
mov ax,cs
mov ds,ax
mov si,offset int7c
mov di,200h
...
阅读全文 |
评论次数(1) |
浏览次数(451) |
所属类型(汇编作业)
[2010-05-21 01:05] 第十三章 实验13(1)
assume cs:code
data segment
db 'Hello World!',0
data ends
code segment
start: ;安装中断例程
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],0200h
mov word ptr es:[7ch*4][2],0000h
mov ax,cs
mov ds,ax
mov si,offset int7c
mov di,200h
mov cl,offset int7cf-offset int7c
cld
rep movs...
data segment
db 'Hello World!',0
data ends
code segment
start: ;安装中断例程
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],0200h
mov word ptr es:[7ch*4][2],0000h
mov ax,cs
mov ds,ax
mov si,offset int7c
mov di,200h
mov cl,offset int7cf-offset int7c
cld
rep movs...
阅读全文 |
评论次数(1) |
浏览次数(381) |
所属类型(汇编作业)
[2010-05-18 14:57] 第十二章 实验12
;0号中断程序
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset int0
mov ax,0
mov es,ax
mov di,0200h
mov cx,offset int0_E-offset int0
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr es:[0],020dh
mov word ptr es:[2],0
mov ax,4c00h
int 21h
int0: db 'Div...
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset int0
mov ax,0
mov es,ax
mov di,0200h
mov cx,offset int0_E-offset int0
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr es:[0],020dh
mov word ptr es:[2],0
mov ax,4c00h
int 21h
int0: db 'Div...
阅读全文 |
评论次数(1) |
浏览次数(434) |
所属类型(汇编作业)
[2010-05-18 01:56] 第十一章 实验11
assume cs:codesg
datasg segment
db "Beginner's All-purpose Symblic Instruction Code.",0
datasg ends
codesg segment
begin: mov ax,datasg
mov ds,ax
mov si,0
call letterc
mov ax,4c00h
int 21h
letterc:
ltc_s: mov al,ds:[si]
mov cl,al
mov ch,0
jcxz ltc_ok
cmp al,061h
jb ...
datasg segment
db "Beginner's All-purpose Symblic Instruction Code.",0
datasg ends
codesg segment
begin: mov ax,datasg
mov ds,ax
mov si,0
call letterc
mov ax,4c00h
int 21h
letterc:
ltc_s: mov al,ds:[si]
mov cl,al
mov ch,0
jcxz ltc_ok
cmp al,061h
jb ...
阅读全文 |
评论次数(3) |
浏览次数(449) |
所属类型(汇编作业)
[2010-05-17 01:44] 第十章 课程设计
;计划用“year”五位、“income”十位、“FTE”七位、“AVG”五位列表,加间隔五位,一行需32位,占32字节,偏移20h为一行。加表头一共22行。结果显屏为逐行显示。
assume cs:code
data1 segment
db '1975','1976','1977','1978','1979','1980','1981','1982'
db '1983','1984','1985','1986','1987','1988','1989','1990'
db '1991','1992','1993','1...
assume cs:code
data1 segment
db '1975','1976','1977','1978','1979','1980','1981','1982'
db '1983','1984','1985','1986','1987','1988','1989','1990'
db '1991','1992','1993','1...
阅读全文 |
评论次数(2) |
浏览次数(415) |
所属类型(汇编作业)
[2010-05-16 17:24] 第十章 实验10.3
;终于调试成功了,累晕了,不想再优化了,记下几点:
;(1)用SS做逆序用的中转段,没用栈,也可以直接用data段,位移偏离就行
;(2)用位移偏离归零判断循环结束,有时候比数据为零判断要方便,尤其调试中老往栈里压东东
;(3)栈操作是双字节操作,以为取单字节数据不方便,犯糊涂了,其实位移两位地push,再位移两位地pop,赋值给单字节数据就行,写完了才想起
;(4)很欣慰屏显子程序直接调用了,一点不用改,得记着子程序把数据接口描述全面清楚了,比保存现场更保险
;(5)子程序多了,象jcxz ok这种标号就冲突大了,以后用子程序_OK之类的格式好
assume cs:codes...
;(1)用SS做逆序用的中转段,没用栈,也可以直接用data段,位移偏离就行
;(2)用位移偏离归零判断循环结束,有时候比数据为零判断要方便,尤其调试中老往栈里压东东
;(3)栈操作是双字节操作,以为取单字节数据不方便,犯糊涂了,其实位移两位地push,再位移两位地pop,赋值给单字节数据就行,写完了才想起
;(4)很欣慰屏显子程序直接调用了,一点不用改,得记着子程序把数据接口描述全面清楚了,比保存现场更保险
;(5)子程序多了,象jcxz ok这种标号就冲突大了,以后用子程序_OK之类的格式好
assume cs:codes...
阅读全文 |
评论次数(0) |
浏览次数(402) |
所属类型(汇编作业)
[2010-05-16 12:01] 第十章 实验10.2
;名称:divdw
;功能:进行不会溢出的除法,被除数为dword型,除数为word型,结果为dword型
;参数:(ax)=被除数低16位、(dx)=被除数高16位、(cx)=除数
;返回:(dx)=结果的高16位、(ax)=结果的低16位、(cx)=余数
assume cs:codesg
codesg segment
start: mov ax,4240h
mov dx,000fh
mov cx,0ah
call divdw
mov ax,4c00h
int 21h
divdw: mov bp,ax ;保存低位数据
mov ax,dx ;高位数...
;功能:进行不会溢出的除法,被除数为dword型,除数为word型,结果为dword型
;参数:(ax)=被除数低16位、(dx)=被除数高16位、(cx)=除数
;返回:(dx)=结果的高16位、(ax)=结果的低16位、(cx)=余数
assume cs:codesg
codesg segment
start: mov ax,4240h
mov dx,000fh
mov cx,0ah
call divdw
mov ax,4c00h
int 21h
divdw: mov bp,ax ;保存低位数据
mov ax,dx ;高位数...
阅读全文 |
评论次数(0) |
浏览次数(402) |
所属类型(汇编作业)
[2010-05-16 00:34] 第十章 实验10.1
;名称:show_str
;功能:在指定的位置,用指定颜色显示用0结束的字符串
;参数:(dh)=行号,范围0~24。(dl)=列号,范围0~79。(cl)=颜色。ds:si指向字
符串首地址
assume cs:codesg
datasg segment
db 'Welcome to masm!',0
datasg ends
codesg segment
start:
mov dh,8
mov dl,3
mov cl,2
mov ax,datasg
mov ds,ax
mov si,0
call show_str
mov ...
;功能:在指定的位置,用指定颜色显示用0结束的字符串
;参数:(dh)=行号,范围0~24。(dl)=列号,范围0~79。(cl)=颜色。ds:si指向字
符串首地址
assume cs:codesg
datasg segment
db 'Welcome to masm!',0
datasg ends
codesg segment
start:
mov dh,8
mov dl,3
mov cl,2
mov ax,datasg
mov ds,ax
mov si,0
call show_str
mov ...
阅读全文 |
评论次数(1) |
浏览次数(404) |
所属类型(汇编作业)
『 查看更多文章 』