用汇编语言编写程序实现输入一个数n,输出n个“Hello World!”

作者:陈世佳  编写时间:2018-4-17
方法如下:

    步骤一:了解中断指令

中断指令:INT 21H
功能号:01H
功能描述:从输入设备中接收一个值(使用ACSII编码接收数据)。
接收入口:接收到的值将被保存于AL中。
入口参数:AH=01H
出口参数:无

    步骤二:了解循环指令

L5:              ;定义循环名称及循环开始位置
    //代码
    LOOP L5      ;CX减一,判断CX是否为零,不为零继续执行循环

    步骤三:编写代码

data SEGMENT                 ;定义字符串
hello DB 'Hello World$'
hello2 DB 'See you!$'
newline DB 13,10,'$'         ;定义换行字符串
data ENDS
code SEGMENT
    ASSUME CS:CODE,DS:DATA
start:
    MOV AX,data                  
    MOV DS,AX 
    MOV AH,01H                   ;给AH设置参数01H
    INT 21h                      ;执行AH中设置的01H号功能:输入一个值到AL中
    SUB AL,48                    ;将获取的值减48,ASCII中'0'的数值为48 
    MOV CL,AL                    ;将AL赋值给CL 
    MOV AH,09H                   ;给AH设置参数09H
L5: LEA DX,newline               ;将DX指向字符串newline 
    INT 21h              	       ;执行AH中的09H号功能,输出字符串newline 
    LEA DX,hello                 ;将DX指向字符串hello 
    INT 21h                      ;执行AH中的09H号功能,输出字符串hello
    LOOP L5                      ;CX减一,判断CX是否为零,若CX不为零,则继续循环 
    MOV AX,4C00H                 ;给AX设置参数4C00H 
    INT 21h                      ;执行AH中的4C00H号功能结束程序
code ENDS
END start

步骤四:运行即可

步骤五:若不明白,可查看用汇编语言编写程序输"Hello World!"


发布了20 篇原创文章 · 获赞 20 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/csj41352/article/details/79981434