【SCAU汇编语言程序设计】实验2

实验2

1、编写一个程序,使用INT 21H的2号功能,实现“Hello, world!”的显示。

;1、编写一个程序,使用INT 21H的2号功能,实现“Hello, world!”的显示。
DATA    SEGMENT
         BUF DB 'Hello, world !$'
DATA    ENDS
STACK   SEGMENT STACK 'STACK'
STACK   ENDS
CODE    SEGMENT
         ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN PROC FAR
	MOV AX,DATA
    MOV DS,AX
    
    LEA SI,BUF   ; SI指向字符串首地址
NEXT:  
	MOV AL, [SI];移到寄存器
    INC SI;i++
    CMP AL,'$';检查是否到达字符串末尾
    JE  EXIT; 是则退出循环
    MOV DL,AL; 将字符放入DL(2号功能要求)
    MOV AH,02H; 设置功能号02H(显示字符)
    INT 21H; 调用中断输出字符
    JMP NEXT; 继续循环
EXIT:   
	MOV AH,4CH; 程序终止功能
    INT 21H
MAIN ENDP
CODE    ENDS
    END MAIN

2、用INT 21H的1号功能,输入一个字符串“Hello, world!”,存放在内存,然后倒序输出。

;2、用INT 21H的1号功能,输入一个字符串“Hello, world!”,存放在内存,然后倒序输出。
DATAS SEGMENT
    BUF DB 36 DUP(?)
DATAS ENDS

STACKS SEGMENT 
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
MAIN PROC FAR
    MOV AX,DATAS
    MOV DS,AX
    MOV CX,0;记录数组长度
    LEA SI,BUF
NEXT:;01H字符输入    
    MOV AH,01H
    INT 21H
    MOV [SI],AL
    INC SI
    INC CX
    CMP AL,0DH;判断回车结束
    JNE NEXT
OUTPUT:;02H字符倒序输出
	SUB SI,1
	MOV DL,[SI]
	MOV AH,02H
	INT 21H
	LOOP OUTPUT
	
    MOV AH,4CH
    INT 21H
MAIN ENDP
CODES ENDS
    END MAIN

3、用 INT 21H 的A号功能,输入一个字符串“Hello, world!”,存放在内存,然后倒序输出。

;3、用 INT 21H 的A号功能,输入一个字符串“Hello, world!”,存放在内存,然后倒序输出。
DATAS SEGMENT;实验2第3小题
    BUF DB 50,?,50 DUP(?) ; 缓冲区结构:最大长度|实际长度|字符数组
DATAS ENDS

STACKS SEGMENT
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
MAIN PROC FAR
    MOV AX,DATAS
    MOV DS,AX
    
    LEA DX,BUF
    ;0A输入字符串功能
    MOV AH,0AH
    INT 21H
	;A号功能要求
    MOV CL,BUF+1;记录长度,BUF是DB类型只能存CL
    MOV CH,0;高位清0
    LEA SI,BUF+2;真实存储字符串的开头地址
    ADD SI,CX;指向字符串尾
OUTPUT:;02H字符倒序输出
    SUB SI,1
	MOV DL,[SI]
	MOV AH,02H
	INT 21H
	LOOP OUTPUT    
    
    MOV AH,4CH
    INT 21H
MAIN ENDP
CODES ENDS
    END MAIN
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值