使用8086汇编语言,将字符串中的数字进行累加,将累加结果显示输出。
时间: 2023-06-13 22:02:16 浏览: 76
下面是汇编代码,实现了将字符串中的数字进行累加,并将累加结果显示输出。假设字符串存储在 DS:SI 指向的内存地址中,累加结果存储在 AX 寄存器中,输出结果使用 DOS 中断 21H 的功能号 02H 实现。
```
.model small
.stack 100h
.data
msg db '12345$' ; 假设字符串为 "12345"
result db 'Result: $'
.code
main proc
mov ax, @data
mov ds, ax
; 初始化累加结果为 0
mov ax, 0
; 循环遍历字符串中的每个字符
mov si, offset msg
mov cl, 0
next_char:
mov al, [si]
cmp al, '$'
je end_loop
; 判断当前字符是否是数字
cmp al, '0'
jl skip
cmp al, '9'
jg skip
; 如果是数字,将其转换为数值并累加到结果中
sub al, '0'
mov bl, 10
mul bl
add ax, bx
; 移动到下一个字符
inc cl
inc si
jmp next_char
skip:
; 如果不是数字,跳过当前字符
inc si
jmp next_char
end_loop:
; 将累加结果输出到屏幕上
mov ah, 09h
lea dx, result
int 21h
mov ah, 02h
mov dl, al
add dl, '0'
int 21h
mov dl, ah
add dl, '0'
int 21h
mov ah, 4ch
int 21h
main endp
end main
```
相关推荐
![asm](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)