问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

汇编语言带符号加法的编程

发布网友 发布时间:2022-04-24 08:43

我来回答

3个回答

热心网友 时间:2022-06-18 03:08

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; prog name:calculating with signed byte ;;
;; date: 08.10.27 ;;
;; author: ivshe ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

.model small
.data
;signed byte ranging from -128 to +127 (including results!!)
datax db -2 ;(e4H)
datay db 64 ;(0cH)
errmsg db 0dh,0ah,'Wrong input.Exit.','$'
ofmsg db 0dh,0ah,'Overflow.Exit.','$'

hextable db 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h,41h,42h,43h,44h,45h,46h
.code
.startup

;input the operator in AL
;+=2bH,-=2dH,*=2aH,/=2fH
mov ah,1h
int 21h

;judge which operation is selected
cmp al,2bh
je _add
cmp al,2dh
je _sub
cmp al,2ah
je _mul
cmp al,2fh
je _div

mov ah,9h
mov dx,offset errmsg ;wrong input
int 21h

jmp exit

_add:
mov ax,0h
mov bx,0h
mov al,datax
mov bl,datay
add al,bl
jo _overflow

call disp

jmp exit
_sub:
mov ax,0h
mov bx,0h
mov al,datax
mov bl,datay
sub al,bl
jo _overflow

call disp
jmp exit

_mul:
mov ax,0h
mov bx,0h
mov al,datax
mov bl,datay
imul bl

;jo _overflow

call disp
jmp exit

_div:
mov ax,0ff00h ;此处有符号扩展
mov bx,0h
mov al,datax
mov bl,datay
idiv bl

call disp
jmp exit

_overflow:
mov dx,offset ofmsg
mov ah,9h
int 21h

jmp exit

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
disp proc
;; procere name:disp
;; function: display a byte in the form of hex
;; input: al=byte data
;; output: n/a

push cx
push bx
mov bx,offset hextable
push ax

mov ah,2h
mov dl,2ch
int 21h ;输出逗号

pop ax
mov ah,0h
mov cl,al
shl ax,4
mov al,cl
and al,0fh ;将AL的高四位放到AH的第四位,如AL=1101 0010,转换后
;AH=0000 1101 , AL=0000 0010
xlat ;将al中转换成对应16进制的ascii
mov cl,al
mov al,ah
xlat ;将ah中转换成对应16进制的ascii
mov ch,al ;此时CX中存储着两位十六进制的ASCII

mov dl,ch
mov ah,2h
int 21h

mov dl,cl
mov ah,2h
int 21h

pop bx
pop cx
ret
disp endp
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

exit:
mov ax,4c00h
int 21h
end

参考资料:http://ivshe.blogbus.com/logs/30687985.html

热心网友 时间:2022-06-18 03:09

因为加法 无符号和带符号是一样的,所以就是add,而 无和有 乘法除法结果不同,所以有专门的。。

热心网友 时间:2022-06-18 03:09

看看补码吧,哥们
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
教材电子版去哪里找 九阳豆浆机打不放网罩能打干豆吗 深圳和记中转场干什么用 腹部增强CT查什么 腹部ct增强检查是什么 腹部加强ct检查出什么 设置好的电脑壁纸老爱自己变我的电脑为什么在老是自动换桌面壁纸 蛇能极速爬行靠什么 武昌理工学院宿舍条件怎么样 河北省人港澳通行证怎样续签? 有符号负数加有符号负数输出的是源码吗? C语言中有符号和无符号数相加的问题 EXCEL 单元格有符号怎么相加 什么三角形是等边三角形? 有符号数能用原码直接相加吗,怎么加? 有符号数加法问题 等边三角形的三个内角___,都是___度,等边三角形又叫___三角形. 带符号的加法 等边三角形几条边都相等三个角都是什么也叫什么三角形 等边三角形又叫什么三角形这三个角的度数都是 请问有符号数与无符号数相加的问题? 等边三角形也叫正三角形。() 什么是等边三角形?什么是等腰三角形? 等边三角形另叫什么三角形,如果一个等边三角形周长是24cm,那么它的长是多少厘米? 等边三角形又叫什么 三条边相等的三角形叫做什么三角形又叫做什么三角形 等边三角形是不是又叫等腰三角形? 等边三角形又叫做()三角形,它的三条边都()每个角都是()角 等边三角形又叫做什么三角形 等边三角形是什么? 的带特殊符号加字? 有的有的还有的符号怎么加 唯美的网名 要有符号加上‘木槿’ 连加的符号有哪些? c语言有符号整型数与无符号整型数相加得到什么呀 c语言 有符号无符号相加问题? 求网名 酷酷的 有符号 加签名 史莱姆怎么做不用水晶泥 现在微信社群学习很火热,有没有不学后悔的课程推荐? 教育类机构如何将用户引流到微信社群上呢? 有谁有比较好的微信社群运营的日常小活动或者经验传授传授 唐兴通谈微信社群营销与运营讲师培训师内容 oppo手机恢复出厂设置后打不开 怎么办? OPPO手机恢复出厂设置后就开不了机了,如果开机一直停在开机动画 为什么oppo手机恢复出厂设置后无法开机? Redmi 7上手:全能高品质,699元物超所值 oppo手机恢复出厂设置后一直卡在开机画面? 电表用的是空气开关,还是漏电开关 redmi7是安卓几? 农业用电电表空气开关是起什么作用的
  • 焦点

最新推荐

猜你喜欢

热门推荐