实训汇编语言设计——将bcd码转化为二进制数
2007-12-21 14:32
393 查看
将bcd码转化为二进制数
data segment
bcd db 1,2,3,4,5 ;bcd码
a dw ? ; 用于存放bcd码转化后的十六进制数
data ends
stack segment para stack'stack'
stapn dw 50 dup(?)
stack ends
code segment
main proc far
assume ds:data,cs:code,ss:stack
start:
;set up stack to retuan
;set DS register to current segment
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
;maim part of the code goes here
call convert ;调用子程序
mov a,bx
ret
main endp
convert proc near
push si
push cx
push ax
mov si,4
l1:mov al,bcd[si]
cbw
;digit is now in ax
;multiply number in bx by 10 decimal
xchg ax, bx
mov cx,10d
mul cx
xchg ax,bx
;Add digit in ax to number in bx
add bx,ax
dec si
jnz l1
pop ax
pop cx
pop si
exit:mov ah,4ch
int 21h
convert endp
code ends
end start
data segment
bcd db 1,2,3,4,5 ;bcd码
a dw ? ; 用于存放bcd码转化后的十六进制数
data ends
stack segment para stack'stack'
stapn dw 50 dup(?)
stack ends
code segment
main proc far
assume ds:data,cs:code,ss:stack
start:
;set up stack to retuan
;set DS register to current segment
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
;maim part of the code goes here
call convert ;调用子程序
mov a,bx
ret
main endp
convert proc near
push si
push cx
push ax
mov si,4
l1:mov al,bcd[si]
cbw
;digit is now in ax
;multiply number in bx by 10 decimal
xchg ax, bx
mov cx,10d
mul cx
xchg ax,bx
;Add digit in ax to number in bx
add bx,ax
dec si
jnz l1
pop ax
pop cx
pop si
exit:mov ah,4ch
int 21h
convert endp
code ends
end start
相关文章推荐
- 实训汇编语言设计——将bcd码转化为二进制数
- 实训汇编语言设计——排序& 查找
- 实训汇编语言设计——存储区数据传输
- 实训汇编语言设计——一段英文中SUN出现的次数。
- 实训汇编语言设计——找出两个数组中相同的整数
- 实训汇编语言设计——16位数拆分为4组
- 实训汇编语言设计——存储区数据传输
- 实训汇编语言设计——一段英文中SUN出现的次数。
- 实训汇编语言设计——找出两个数组中相同的整数
- 实训汇编语言设计——8253计数器/定时器
- 实训汇编语言设计——16位数拆分为4组
- 实训汇编语言设计——内存多字节10进制数相加
- 实训汇编语言设计——人机对话
- 实训汇编语言设计——删除数组中所有为零的项
- 实训汇编语言设计——8253计数器/定时器
- 实训汇编语言设计——接受一个小写字母,找出前个字符和后续字符
- 实训汇编语言设计——内存多字节10进制数相加
- 实训汇编语言设计——人机对话
- 实训汇编语言设计——删除数组中所有为零的项
- 实训汇编语言设计——生成方波正弦波