编写一个可以在emu8086上运行的MBR程序,在计算机屏幕显示“21210929zhouhe”并计算出上述字符的ASCII值的总和并以十进制形式显示出来。
时间: 2024-03-20 16:44:43 浏览: 66
EMU8086仿真软件在《微机原理》中的应用
以下是一个可以在emu8086上运行的MBR程序,它会在屏幕上显示“21210929zhouhe”并计算出上述字符的ASCII值的总和,并将其以十进制形式显示出来。
```
ORG 7C00h
start:
mov ax, 0B800h ; 设置显示模式
mov es, ax
mov di, 0 ; 设置显示起始位置
mov cx, 13 ; 设置字符数量
mov bl, 1Eh ; 设置字符属性
; 在屏幕上显示“21210929zhouhe”
mov si, msg
mov ah, bl
cld
rep stosw
; 计算字符的ASCII值的总和
mov si, msg
xor ax, ax
xor dx, dx
sum_loop:
lodsb
add ax, al
adc dx, 0
cmp si, msg_end
jne sum_loop
; 将ASCII值的总和以十进制形式显示出来
mov bx, 10
mov cx, 4
convert_loop:
xor dx, dx
div bx
add dl, '0'
push dx
dec cx
test ax, ax
jne convert_loop
mov ah, bl
mov di, 28h
pop ax
cmp al, '0'
jnz print_digit
mov al, ' '
print_digit:
stosw
loop convert_loop
; 无限循环
jmp $
msg db '21210929zhouhe'
msg_end equ $
times 510-($-$$) db 0
dw 0AA55h
```
该程序首先设置显示模式为B800h,然后在屏幕上显示“21210929zhouhe”并计算出上述字符的ASCII值的总和。最后,它将ASCII值的总和以十进制形式显示出来。
请注意,这是一个MBR程序,因此需要将其保存为一个512字节的二进制文件。在emu8086中,可以使用“编译和运行”选项来编译和运行该程序。在运行时,您可以在屏幕上看到“21210929zhouhe”和ASCII值的总和。
阅读全文