问题描述
我正在尝试编写一个程序以获取3个值的总和并获得均值。到目前为止,我能够通过从总和中减去某个值来“正确地”获得总和,以获得总和的前导数字。从总和中减去27h / 29可能不是最有效的方法。我知道这可能不是最佳解决方案,但是使用除法会给我带来一些错误,并显示一些随机符号,就像在我变成评论的代码块上看到的一样。
TITLE Add (sum.asm)
; This program adds 8-bit values
.model small
.stack 100h
.data
ThreeBytes db 10h,20h,30h ;expected sum is 60h or 96d
message db 0ah,0dh,"Sum = "
TheSum db ?,0ah,"$"
.code
main PROC
mov ax,@data
mov ds,ax
mov al,ThreeBytes
add al,ThreeBytes + 1
add al,ThreeBytes + 2
;sub al,40
; mov ch,0
; mov ch,al
; mov bl,10
; div bl
sub al,27h ;or 39d to get 9
mov TheSum,al ;output is ' (apostrophe) = 60h or 96d
mov dx,offset message
mov ah,9
int 21h
mov ax,4C00h
int 21h
main endp
end main
我是一个完全的入门者,几乎没有汇编语言知识,所以我希望有一个简单的解决方案/说明。上面的代码是我发现的不同程序的组合,确实可以工作。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)