1.编写完整的8086汇编程序,实现在屏幕上显示5行“Hello Word!”?

1.编写完整的8086汇编程序,实现在屏幕上显示5行“Hello Word!”?,第1张

代码如下:

DATA SEGMENT

STRING DB 'Hello World!', 0DH, 0AH, '$'    0D 0A(ascii)是回车换行,$用来结束字符串输出

DATA ENDS

CODE SEGMENT

ASSUME CS: CODE, DS: DATA

START:

MOV AX, DATA

MOV DS, AX

MOV CX, 5

LEA DX, STRING

SHOW: MOV AH, 9

INT 21H

LOOP SHOW

MOV AH, 4CH

INT 21H

CODE ENDS

END START

在dos中运行结果如下:

运行结果

SEGMENT表示把代码分成不同的段,不同的段保存在不同的地址中。DATA SEGMENT表示这是数据段用来存储数据用的,STACK 是堆栈段,CODE是代码段,MOV AX,DATA 表示将DATA的段地址传递给AX,DS是段寄存器,MOV DX,OFFSET BUF是将BUF所代表的地址传递到DX中,AX,DX是通用寄存器。INT 21H,INT 是软中断,21H是函数的入口地址,至于前面的MOV AH,9是函数的参数。你查一下INT 21H的功能就可以知道参数是9的意思就是显示DS:DX中所指向的字符串,4CH是带返回码结束。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11111704.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存