16位有符号整型数据的输出~~~~

原创 2006年05月21日 12:07:00
;-----------------------------------------------------------------------------
;            __write_int_
;        ==========================
;
;Proc For write a int decimal to screen, int data in BX
;-----------------------------------------------------------------------------
__write_int_   proc    near
       push    cx
       push    ax
;process if negtive
       mov     ax, bx
       not    ax
       test    ah, 10000000B
       jne     not_negative_w            ;not negative
       mov     dl, '-'
       mov     ah, 02h
       int     21h
       neg     bx
not_negative_w:
       mov    cx, 10000d            ;divide by 10000
       mov    ax, bx                ;data in bx, mov to ax
       call    __dec_div_
       mov    cx, 1000d
       mov    ax, bx
       call    __dec_div_
       mov    cx, 100d
       mov    ax, bx
       call    __dec_div_
       mov    cx, 10d
       mov    ax, bx
       call    __dec_div_
       mov    cx, 1d
       mov    ax, bx
       call    __dec_div_
;linefeed and carriage after out put a data
       mov    ah, 2h
       mov    dl, 0ah                ;linefeed
       int    21h
       mov    dl, 0dh                ;carriage return after read
       int    21h
;
       pop    ax
       pop    cx
       ret                    ;return form _write_int_
;-----------------------------------------------------------------------------
;            __dec_div_
;        ==========================
;
;Subroutine to divide number in BX by number in CX
;print quotient on screen, (numberator in DX+AX, denom in CX)
;-----------------------------------------------------------------------------
__dec_div_     proc    near
;
       mov    ax, bx                          ;number low half
       mov    dx, 0                           ;zero out high half
       div    cx                              ;divide by CX
       mov    bx, dx                          ;remainder into BX
       mov    dl, al                ;quotient into DL
;print the contents of DL on screen
       add    dl, 30h                         ;convert to ASCII
       mov    ah, 2h
       int    21h
       ret
__dec_div_     endp                            ;end of proc __dec_div_
;-----------------------------------------------------------------------------
__write_int_   endp                            ;end of proc __write_int_
;
;-----------------------------------------------------------------------------
;
codesg    ends                    ;end of code segment
;*****************************************************************************
      end    begin                ;end assembly
;

带符号8位整型向带符号16位整型的强制转换

有一个很有意思的现象 int8_t     tmp8   = 0xA8; int16_t   tmp16 = tmp8; 但是tmp16的结果却是0xFFA8,按照一般理解,强制转换不应该高位补零的吗...
  • mu89qing
  • mu89qing
  • 2015年04月27日 19:54
  • 983

16位有符号

1. 16位有符号 补码最大的数为0111 1111 1111 1111,其原码跟他一样(正数原码补码相同),最小的数为1000 0000 0000 0000; 其范围是-(2^15)~(2^1...
  • wzw71734
  • wzw71734
  • 2016年11月20日 19:31
  • 784

32位,64位整数及其print输出

32位机,和64位机,情况是不同的。以下仅讨论32位机。 int ,unsigned int 是32位的,sizeof(int)返回4。说明是4字节(即32位)。 long int , long ...
  • woxincd
  • woxincd
  • 2012年04月11日 15:36
  • 5117

printf输出格式总结

printf函数称为格式输出函数,其关键字最末一个字母f即为“格式”(format)之意。其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。 printf函数调用的一般形式 pri...
  • sinat_34009734
  • sinat_34009734
  • 2016年06月12日 15:13
  • 27850

printf输出格式总结

格式代码 A ABC ABCDEFGH %S A ABC ABCDEFGH %5S ####A...
  • Andrewseu
  • Andrewseu
  • 2015年03月17日 16:32
  • 1285

C语言中16位整型数据的取值范围

本文介绍C语言中16位整型数据的取值范围。 1. 无符号16位整型数据 对于无符号(unsigned)型数据,存储单元中全部二进位(bit)都用作存放数本身,而不包括符号。所以对于16位整型,取值...
  • liitdar
  • liitdar
  • 2018年01月21日 16:12
  • 89

c# byte数组转换 8位有符号整数 16位有符号整数 32位有符号整数

byte数组   byte[] aa = new byte[] { 0xF8, 0x66, 0x55, 0x44 }; 1.转换成8位有符号整数   sbyte sb = (sbyte)aa[0...
  • wangxingxing321
  • wangxingxing321
  • 2017年10月17日 16:18
  • 1090

printf 格式化输出符号详细说明

转载出处:freemantse %a             浮点数、十六进制数字和p-记数法(C99) %A    浮点数、十六进制数字和p-记法(C99) %c     一个字符(cha...
  • bujuan827
  • bujuan827
  • 2016年09月02日 08:46
  • 301

printf()输出

printf()函数是式样化输出函数, 一般用于向准则输出设备按规定式样输出消息。正在编写步骤时经常会用到此函数。printf()函数的挪用式样为: printf("",); 其中式样化字符串包括两部...
  • xiaoyiaoyou
  • xiaoyiaoyou
  • 2015年04月11日 20:13
  • 710

汇编实现16位有符号二进制数排序并输出

data segment BUF DW 2560,-3,4387,12,6250,-79,54,88 COUNT EQU $-BUF OUTBUF DB 7 DUP(0),$data ends cod...
  • xiaoxin0424
  • xiaoxin0424
  • 2009年05月17日 17:04
  • 826
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:16位有符号整型数据的输出~~~~
举报原因:
原因补充:

(最多只允许输入30个字)