<汇编语言>实验10_3(2)
2014-10-05 01:50
232 查看
assume cs:code,ds:data,ss:stack
data segment
db 40 dup (0)
dw 123,12666,1,8,3,38
data ends
stack segment
db 20 dup (0)
stack ends
code segment
start:
mov bx,data
mov ds,bx
mov bx,stack
mov ss,bx
mov sp,20
mov cx,6
mov si,0
mov bx,40
s3:
mov ax,ds:[bx]
push bx
push cx
mov bx,0
mov ds:[35],bx ;;;;清0计数值
call dtoc
pop cx
pop bx
add bx,2h
loop s3
mov dh,13
mov dl,35
mov cl,2
mov si,0
call show_str
mov ax,4c00h
int 21h
;;;;;;;;;;;;;转换;;;;;;;;;;;;;;;;;;;;;;;;
dtoc:
mov dx,0 ;高字节为0,低字节为(ax)
mov bx,10
div bx
;除法操作,结果商放在ax中,余数放在dx中
add dx,30h ;加上30h表示,数字1,转换为字符“1”
push dx
;放入栈中
mov bx,ds:[35] ;入栈计数
add bx,1
mov ds:[35],bx
mov cx,ax
jcxz ok2
;判断商是否为0,如果为0,退出
jmp short dtoc
ok2:
mov cx,ds:[35]
s2:
pop ax
mov ds:[si],al
inc si
loop s2
ret
;;;;;;;;;;;;;;;;;;;display;;;;;;;;;;;;;;;;;;;;;;;;;;;;
show_str:
push ax
push bx
push cx
mov al,160
mul dh
mov bx,ax
mov al,2
mul dl
add bx,ax
mov ax,0b800h
mov es,ax
mov dl,cl
s0:
mov cl,[si]
mov ch,0
jcxz ok
mov ch,dl
mov es:[bx],cx
add bx,02h
inc si
jmp short s0
ok:
pop cx
pop bx
pop ax
ret
code ends
end start
data segment
db 40 dup (0)
dw 123,12666,1,8,3,38
data ends
stack segment
db 20 dup (0)
stack ends
code segment
start:
mov bx,data
mov ds,bx
mov bx,stack
mov ss,bx
mov sp,20
mov cx,6
mov si,0
mov bx,40
s3:
mov ax,ds:[bx]
push bx
push cx
mov bx,0
mov ds:[35],bx ;;;;清0计数值
call dtoc
pop cx
pop bx
add bx,2h
loop s3
mov dh,13
mov dl,35
mov cl,2
mov si,0
call show_str
mov ax,4c00h
int 21h
;;;;;;;;;;;;;转换;;;;;;;;;;;;;;;;;;;;;;;;
dtoc:
mov dx,0 ;高字节为0,低字节为(ax)
mov bx,10
div bx
;除法操作,结果商放在ax中,余数放在dx中
add dx,30h ;加上30h表示,数字1,转换为字符“1”
push dx
;放入栈中
mov bx,ds:[35] ;入栈计数
add bx,1
mov ds:[35],bx
mov cx,ax
jcxz ok2
;判断商是否为0,如果为0,退出
jmp short dtoc
ok2:
mov cx,ds:[35]
s2:
pop ax
mov ds:[si],al
inc si
loop s2
ret
;;;;;;;;;;;;;;;;;;;display;;;;;;;;;;;;;;;;;;;;;;;;;;;;
show_str:
push ax
push bx
push cx
mov al,160
mul dh
mov bx,ax
mov al,2
mul dl
add bx,ax
mov ax,0b800h
mov es,ax
mov dl,cl
s0:
mov cl,[si]
mov ch,0
jcxz ok
mov ch,dl
mov es:[bx],cx
add bx,02h
inc si
jmp short s0
ok:
pop cx
pop bx
pop ax
ret
code ends
end start
相关文章推荐
- <汇编语言>实验10_2
- Java【多线程知识总结(10)】线程通信之wait()与notify()的运用--模拟指挥官指挥2个连队交替轰炸战区<另外的写法>
- 实验4-10 用if结构求1+2+…+n(n<=10)的值
- <<OCM实验选讲>> 第八课 Oracle性能优化实验
- <<OCM实验选讲>> 第十课 DG实验
- 位运算符 | << >> & ^ ~的厉害__10进制 To 2进制
- <<OCM实验选讲>> 第五课 数据备份恢复实验
- <<OCM实验选讲>> 第七课 Oracle数据库管理实验
- Windows学习笔记10——图形基础<二>
- Struts2标签库(10):<s:select/>
- 王爽 <<汇编语言>> 课程设计1
- 《C++第九周实验报告3-1》----接第8周任务3,定义分数类中<<和>>运算符重载,实现分数的输入输出
- <<AI入门(10)>>(C)
- 写好C程序的10+大要点<转>
- <转>Android2.2 r1 API 中文文档系列(10) —— CheckBox
- Hibernate3.2(10):联合主键<composite-id.../>
- <Lua程序设计(第二版)>书摘-10
- Ubuntu14 中安装 VMware10 Tools工具<2>
- <<OCM实验选讲>> 第三课 网络配置 实验
- <<OCM实验选讲>> 第六课 数据仓库实验