;子程序名称:dtoc
;功能:将word型数据转为表示十进制的字符串,字符串以0为结尾
;参数:(ax)=word型数据,ds:si指向字符串首地址
;返回:无
;结果:将数据12666以十进制形式在屏幕的8行3列,用绿色显示出来
assume cs:code
data segment
db 16 dup (0)
data ends
code segment
start:mov ax,12666 ;317ah
mov bx,data
mov ds,bx
mov si,0
call dtoc
...
- [linfeng0928] 谢谢! 12/08 20:04
- [tomato] 没问题。只是,没有解决除法溢出的问题,只针对这个数据没问题,但是,一旦换个大些的数据有可能出现除法溢 05/10 23:47
- [linfeng0928] 虽然遇到问题但还是要努力去完成。 05/02 00:38
- [fpamc] mov ax,[54h+2+si] 这个指令可以这样写吗?两个立即数。 我想,mov ax 04/09 23:34
- [tomato] 时隔这么长时间,博主又开始重新学习了? 这个程序做的我看没有问题。 04/09 23:25
[2012-05-10 00:08] 实验10.3显示字符串
阅读全文 |
评论次数(2) |
浏览次数(380) |
所属类型(汇编作业)
[2012-04-09 21:33] 实验七作业
assume cs:code,ds:data
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984','1985','1986','1987','1988','1989','1990'
db '1991','1992','1993','1994','1995'
;以上为年份
dd 16,22,282,1356,2390,8000,16000,24486,50065,97479,140417,197514,345980,590827,803530,1183000,1843...
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984','1985','1986','1987','1988','1989','1990'
db '1991','1992','1993','1994','1995'
;以上为年份
dd 16,22,282,1356,2390,8000,16000,24486,50065,97479,140417,197514,345980,590827,803530,1183000,1843...
阅读全文 |
评论次数(3) |
浏览次数(362) |
所属类型(汇编作业)
[2011-07-05 02:38] 实验10.1
;功能:在屏幕的8行3列用绿色显示data段中的字符串
;参数:dh行号,dl列号,cl颜色,ds:si字符串首地址
assume cs:code
data segment
db 'welcome to masm!',0
data ends
code segment
start:mov dh,10
mov dl,5
mov cl,2
mov ax,data
mov ds,ax
mov si,0
call show_str
mov ax,4c00h
...
;参数:dh行号,dl列号,cl颜色,ds:si字符串首地址
assume cs:code
data segment
db 'welcome to masm!',0
data ends
code segment
start:mov dh,10
mov dl,5
mov cl,2
mov ax,data
mov ds,ax
mov si,0
call show_str
mov ax,4c00h
...
阅读全文 |
评论次数(0) |
浏览次数(339) |
所属类型(汇编作业)
[2011-06-14 02:32] 实验10.2
;名称:divdw
;功能:进行不会产生溢出的除法运算,被除数为DWORD型,除数为WORD型,结果为DWORD型
;参数(ax)=dword型数据低16位,(dx)=dword型数据高16位,(cx)=除数
;返回(dx)=结果高16位,(ax)=结果低16位,(cx)=余数
;目标:计算1000000/10(f4240h/0ah)
;结果:(dx)=1,(ax)=86a0h,(cx)=0
assume cs:code
code segment
start:mov ax,4240h
mov dx,0fh
mov cx,0ah
call...
;功能:进行不会产生溢出的除法运算,被除数为DWORD型,除数为WORD型,结果为DWORD型
;参数(ax)=dword型数据低16位,(dx)=dword型数据高16位,(cx)=除数
;返回(dx)=结果高16位,(ax)=结果低16位,(cx)=余数
;目标:计算1000000/10(f4240h/0ah)
;结果:(dx)=1,(ax)=86a0h,(cx)=0
assume cs:code
code segment
start:mov ax,4240h
mov dx,0fh
mov cx,0ah
call...
阅读全文 |
评论次数(0) |
浏览次数(358) |
所属类型(汇编作业)
[2011-05-21 22:19] 实验9 我的作业
assume cs:code
data segment
db 'welecome to masm!'
db 'ca,22,23'
data ends
code segment
start:mov ax,data
mov ds,ax
mov ax,0b850h ;初始化数据显示行的位置
mov es,ax
mov si,3 ;字符属性变化次数
mov di,17 ;字符属性取值位置
s:mov cx,si
jcxz s2
mov bp,40h ;数据显示位置列
...
data segment
db 'welecome to masm!'
db 'ca,22,23'
data ends
code segment
start:mov ax,data
mov ds,ax
mov ax,0b850h ;初始化数据显示行的位置
mov es,ax
mov si,3 ;字符属性变化次数
mov di,17 ;字符属性取值位置
s:mov cx,si
jcxz s2
mov bp,40h ;数据显示位置列
...
阅读全文 |
评论次数(0) |
浏览次数(375) |
所属类型(汇编作业)
[2011-05-13 20:18] 实验七作业[不推荐还没做这个实验或没分析数据的看]
看了许多人的文章,我想留在这里的是一定要注重分析,我在这个实验花了较多时间。虽然实现了程序,但还不是我的理想目标,代码已经精简了一段就是生产总值和人均产值这部分集成在一起。其它没做,另外其它实现的不同方式在实验当中,只用一个循环,用栈段,代码更精简等等。注重分析,用这个实验获得目前所学知识的总结及应用,使得学习真的巩固,
assume cs:codesg
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
db '1984','1985','1986','1987','1988',...
assume cs:codesg
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
db '1984','1985','1986','1987','1988',...
阅读全文 |
评论次数(0) |
浏览次数(394) |
所属类型(汇编作业)
[2011-02-14 03:33] 实验6.79
assume cs:codesg,ss:stacksg,ds:datasg
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
datasg segment
db '1.display '
db '2.brows '
db '3.replace '
db '4.modify '
datasg ends
codesg segment
start:mov ax,datasg
mov ds,ax
mov ax,stacksg
mov ss,ax
mov sp,10h
mo...
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
datasg segment
db '1.display '
db '2.brows '
db '3.replace '
db '4.modify '
datasg ends
codesg segment
start:mov ax,datasg
mov ds,ax
mov ax,stacksg
mov ss,ax
mov sp,10h
mo...
阅读全文 |
评论次数(0) |
浏览次数(363) |
所属类型(汇编作业)
[2011-02-13 00:40] 实验5(6)
编写CODE段中的代码,用PUSH指令将A段中的前8个字型数据逆序存储到B段中。
assume cs:code
a segment
dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh
a ends
b segment
dw 0,0,0,0,0,0,0,0
b ends
code segment
start:
mov ax,a
mov ds,ax
mov ax,b
mov ss,ax
mov sp,10h
mov bx,0
mov cx,8
s:push [bx]
add bx,2
loop s
code...
assume cs:code
a segment
dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh
a ends
b segment
dw 0,0,0,0,0,0,0,0
b ends
code segment
start:
mov ax,a
mov ds,ax
mov ax,b
mov ss,ax
mov sp,10h
mov bx,0
mov cx,8
s:push [bx]
add bx,2
loop s
code...
阅读全文 |
评论次数(0) |
浏览次数(405) |
所属类型(汇编作业)
[2011-02-13 00:09] 实验5(5)
assume cs:code
a segment
db 1,2,3,4,5,6,7,8
a ends
b segment
db 1,2,3,4,5,6,7,8
b ends
c segment
db 0,0,0,0,0,0,0,0
c ends
code segment
start:
mov ax,a
mov ds,ax
mov ax,c
mov es,ax
mov bx,0
mov cx,8
s:mov dl,ds:[bx]
mov es:[bx],dl
inc bx
loop s
mov ax,b
mov ds,ax
mov bx,0
m...
a segment
db 1,2,3,4,5,6,7,8
a ends
b segment
db 1,2,3,4,5,6,7,8
b ends
c segment
db 0,0,0,0,0,0,0,0
c ends
code segment
start:
mov ax,a
mov ds,ax
mov ax,c
mov es,ax
mov bx,0
mov cx,8
s:mov dl,ds:[bx]
mov es:[bx],dl
inc bx
loop s
mov ax,b
mov ds,ax
mov bx,0
m...
阅读全文 |
评论次数(0) |
浏览次数(363) |
所属类型(汇编作业)
[2011-02-08 03:03] 检测点6.1.2
assume cs:codesg
codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
dw 0,0,0,0,0,0,0,0,0,0
start:mov ax,codesg
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 sp,[bx]
add bx,2
loop s
mov ax,4c00h
int 21h
codesg ends
end start...
codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
dw 0,0,0,0,0,0,0,0,0,0
start:mov ax,codesg
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 sp,[bx]
add bx,2
loop s
mov ax,4c00h
int 21h
codesg ends
end start...
阅读全文 |
评论次数(0) |
浏览次数(405) |
所属类型(汇编作业)
『 查看更多文章 』