汇编输出指令(用汇编语言循环指令在屏幕中间输出红底白字的“hello I am 720“)

本文目录
- 用汇编语言循环指令在屏幕中间输出红底白字的“hello I am 720“
- 汇编语言,求输出结果
- 汇编语言中把数据打印到屏幕上的指令是什么啊急求答案
- 汇编语言输出ASCII值
- [汇编]请问汇编语言中如何输出十进制计算结果
- 用简单汇编指令来实现下面要求1,R5的内容输出到R2 2.外部RAM 50H单元的内容送到R0
- 汇编中out命令什么意思,比如OUT DX,AL 这个语句如何解释
用汇编语言循环指令在屏幕中间输出红底白字的“hello I am 720“
CODE SEGMENT
ASSUME CS:CODE
MSG DB ’hello I am 720’
N EQU $-MSG
START: PUSH CS
POP DS
PUSH CS
POP ES
MOV AH,2
MOV DH,12
MOV DL,37
INT 10H
MOV CX,N
LEA SI,MSG
@1:
PUSH CX
MOV AH,9
MOV AL,
MOV BL,0CFH
MOV CX,1
INT 10H
INC SI
MOV AH,3
INT 10H
MOV AH,2
INC DL
INT 10H
POP CX
LOOP @1
MOV AH,4CH
INT 21H
CODE ENDS
END START
汇编语言,求输出结果
不知道你要什么输出结果,所直接给出每条指令的执行结果。
MOV 30H,#20H,执行后结果为:(30H)=20H
MOV 20H,#30H,执行后结果为:(20H)=30H
MOV R1,#20H,执行后结果为:(R1)=20H
MOV A,@R1,执行后结果为:(A)=30H
ADD A,#10H,执行后结果为:(A)=40H
MOV R0,A,执行后结果为:(R0)=40H
MOV 10H,@R0,执行后结果为:(10H)=未知(以上条件无法给出结果值位40H中的数据)
汇编语言中把数据打印到屏幕上的指令是什么啊急求答案
汇编语言能把数据打印到屏幕上的指令有以下几个:
1 mov ah,01h;键盘输入一个字符保存在al里,比如说“2”,那么它将会以“32”的形式被保存
;在al里面,其中“32”是十六进制的
int 21h ;这样就完成了一个dos的01号功能调用
2 mov ah,02h;这是现实dl里面的字符的,如:mov dl,32h,再调用此功能,则屏幕会显示
;“2”
int 21h;完成了2号功能的调用
3 mov ah,06h;这也是能在屏幕显示输入数据的,不过用的是外部设备,如芯片244(这不
;是全名)
int 21h
4 mov ah,09h;显示字符串,就是你写数据段的汇编程序时,输入的字符串会在运行程序时
;在屏幕显示
int 21h
汇编语言输出ASCII值
;输入A
;输出0041H和01000001
;核心代码是向十六进制及二进制转换的子程序
data segment
num dw 0
str1 db ’INPUT:$’
str2 db ’16:$’
str3 db ’2:$’
data ends
code segment
assume cs:code,ds:data
main proc far
start:
mov ax,data
mov ds,ax
lea dx,str1
mov ah,09h
int 21h
mov ah,01h
int 21h
cbw;8位扩展为16位
mov bx,ax;将字符的ASCII存入BX
mov num,bx;防止值改变存入num中为转换二进制准备
call crlf;回车换行子程序
lea dx,str2
mov ah,09h
int 21h
call transform;转换为16进制子程序子程序
mov dl,’H’
mov ah,02h
int 21h
call crlf
;转换为二进制
lea dx,str3
mov ah,09h
int 21h
mov cx,8
m2:
test bx,80h
jnz m3
mov dl,’0’
mov ah,02h
int 21h
jmp m4
m3:
mov dl,’1’
mov ah,02h
int 21h
m4:
shl bx,1
loop m2
mov dl,’B’
mov ah,02h
int 21h
mov ah,4ch
int 21h
ret
main endp
transform proc near
mov ch,4
rotate: mov cl,4
rol bx,cl
mov al,bl
and al,0fh
add al,30h
cmp al,3ah
jl printit
add al,7h
printit:
mov dl,al
mov ah,02h
int 21h
dec ch
jnz rotate
ret
transform endp
crlf proc near
mov dl,0ah
mov ah,02h
int 21h
mov dl,0dh
mov ah,02h
int 21h
ret
crlf endp
code ends
end start
[汇编]请问汇编语言中如何输出十进制计算结果
一般汇编语言教材中都有这个问题的例题,建议去找本书参考一下。
大体需要5个步骤,过程如下:
1. 将AX中内容除以10000,得到的商是万位数,余数暂存起来。
将所得的商转成ASCII码,输出显示。
2. 将刚才的余数除以1000,得到的商是千位数,余数暂存起来。
将所得的商转成ASCII码,输出显示。
3. 将刚才的余数除以100,得到的商是百位数,余数暂存起来。
将所得的商转成ASCII码,输出显示。
4. 将刚才的余数除以10,得到的商是十位数,余数是个位数,暂存起来。
将所得的商转成ASCII码,输出显示。
5. 将刚才的余数转成ASCII码,输出显示。
这个问题一般不用循环实现,因为循环实现并不能让程序简化。
这个问题一定要注意:不能用每次除以10,先得余数个位数,再得十位数、百位数、……这样的方法,因为8086的除法指令不支持这么处理,大数除以10会出现除法溢出错误。
用简单汇编指令来实现下面要求1,R5的内容输出到R2 2.外部RAM 50H单元的内容送到R0
1,R5的内容输出到R2
MOV A, R5
MOV R2, A
2.外部RAM 50H单元的内容送到R0
MOV R0, #50H
MOVX A, @R0
MOV R0, A
3.外部RAM 2000H的内容送内部RAM 30H单元
MOV DPTR, #2000H
MOVX A, @DPTR
MOV 30H, A
4.ROM 1300H送内部RAM 24H,
MOV DPTR, #1300H
CLR A
MOVC A, @A + DPTR
MOV 24H, A
5.将R1 R2的内容之积送外部RAM的0832和0833H单元中(高8位在前)
MOV A, R1
MOV B, R2
MUL AB
MOV DPTR, #0833H
MOVX @DPTR, A
MOV DPTR, #0832H
MOV A, B
MOVX @DPTR, A
6.将R5的内容屏蔽高4位后送内部RAM 35H中
MOV A, R5
ANL A, #0FH
MOV 35H, A
7.根据28H单元的第五位的值决定程序跳转,为1转到NEXT1的地址去执行,为0顺序执行
JB 28H.5, NEXT1
8.将内部RAM单元的24H的第三位内容送单元2FH的第六位
MOV C, 24H.3
MOV 2FH.6, C
9.若P1.0接一外部信号,若P1.0信号不变,程序循环检测判断,
若有跳变(低到高,高到低均可)转到STEP1地址去
MOV A, P1
LOOP:
XRL A, P1
JNB ACC.0, LOOP
STEP1:
END
汇编中out命令什么意思,比如OUT DX,AL 这个语句如何解释
OUT 是输出指令,DX是端口地址,OUT DX,AL 就是将AL的内容输出到DX所指示的端口

更多文章:
avantage怎么设置为中文(Avantage安装丢失GIT)
2026年10月15日 03:00
activex控件未注册怎么办(登陆视频监控网页时提示activex控件未注册,怎么解决)
2026年10月14日 20:30
excel连接sql数据库教程(excel怎么连接sql数据库)
2026年10月14日 19:40






