⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sdtob(16b).txt

📁 数值转换程序
💻 TXT
字号:
sseg	segment	stack
	db 256 dup (?)
sseg	ends
dseg	segment
inbuf	db 7,?,7 dup(?)
dseg	ends
cseg	segment
	assume cs:cseg,ds:dseg,ss:sseg
start:
     mov  ax,dseg
     mov  ds,ax

     mov  dx,offset inbuf
     mov  ah,0ah
     int  21h

     mov  di,offset inbuf
     call sdtob
     mov  bx,ax
     mov  ah,4ch
     int  21h

;**************************************
;subroutine:	   sdtob
;functing:	   convert a signed decade(16bit) integer into a binary
;		   the decade is already in the inbuf
;intry parameter:  di=offset inbuf
;outcome paremeter:ax=the binary
sdtob  proc
       push bx
       push cx
       xor  ax,ax
       mov  bh,0
       mov  ch,1
       mov  cl,byte ptr [di+1]
       cmp  byte ptr [di+2],'-'
       jnz  ulong
       mov  ch,-1
       dec  cl
       inc  di
ulong: add  di,2
       cmp  cl,0
       jz   oks
nexts: mov  dx,10
       mul  dx
       mov  bl,byte ptr [di]
       and  bl,0fh
       add  ax,bx
       inc  di
       dec  cl
       cmp  cl,0
       ja   nexts
       cmp  ch,-1
       jnz  oks
       not  ax
       add  ax,1
oks:   pop  cx
       pop  bx
       ret
sdtob  endp
cseg   ends
end    start

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -