求答案:试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。
s1:
mov ah,7 ;接收输入不显示
int 21h
cmp al,0dh ;如果是回车退出
jz s3
cmp al,61h ;判断是不是小写字母
jb s2
cmp al,7ah
ja s2
sub al,20h ;如果是减20H变成大写并输出 如果不是直接输出不减20H
s2:
mov dl,al ;输出AL
mov ah,2
int 21h
jmp s1
s3:
mov ah,4ch
int 21h
没调试写一下大概思路。
#include
int main()
{
char ch;
scanf("%c",&ch);
printf("%c",ch-'a'+'A');
return(0);
}
DSEG SEGMENT
A DB 'PLEASE INPUT (a~z):','$'
B DB 0AH,0DH,'$'
DSEG ENDS
SSEG SEGMENT STACK
DB 90H DUP(?)
SSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG,SS:SSEG
START:
MOV AX,DSEG
MOV DS,AX
MOV DX,OFFSET A///提示输入
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
MOV BL,AL
SUB BL,20H///转换
MOV DX,OFFSET B
MOV AH,09H
INT 21H
MOV DL,BL
MOV AH,02
INT 21H//输出
MOV AH,4CH
INT 21H/////结束
CSEG ENDS
END START
;////////////////////////////////////////////////////////////////////
;// 字 符 矩 阵 //
;// CopyRight CCSoft 2002.11.5 //
;///////////////////////stack segment////////////////////////////////
STACKS SEGMENT STACK
DB 128 DUP(?)
STACKS ENDS
;///////////////////////data segment/////////////////////////////////
DATAS SEGMENT
N DB 0
DATAS ENDS
;///////////////////////code segment/////////////////////////////////
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
;///////////////////////////////////
START PROC FAR
MOV AX,DATAS
MOV DS,AX
MOV AH,01H ;get a character
INT 021H
SBB AL,20H ;get the number of the character
MOV DL,AL
MOV AH, 02H
INT 21H
MOV AX,4C00H ;return to dos
INT 21H
START ENDP
CODES ENDS
END START
;按回车结束程序
CODES SEGMENT
ASSUME CS:CODES
START:
a: mov ah,01h
int 21h
cmp al,0dh
jz exit
sub al,32
mov dl,al
mov ah,02
int 21h
jmp a
exit: MOV AH,4CH
INT 21H
CODES ENDS
END START
试编写一个汇编语言程序,要求从键盘接收一个四位的16进制数,并在终端上...
说明:编译连接后,运行后直接输入4个16进制数后回车即可.
求答案:试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母...
NAME TURN DSEG SEGMENT A DB 'PLEASE INPUT (a~z):','$'B DB 0AH,0DH,'$'DSEG ENDS SSEG SEGMENT STACK DB 90H DUP(?)SSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG,SS:SSEG START:MOV AX,DSEG MOV DS,AX MOV DX,OFFSET A\/\/\/提示输入 MOV AH,09H INT 21H MOV AH,01H I...
怎样用汇编语言实现比较三个数的大小?
(1)如果三个数都不相等则显示ALL NOT EQU;(2)如果三个数有两个数相等则显示TWO EQU;(3)如果三个数都相等,则显示ALL EQU。程序:data segment string1 db 16 dup(?)string2 db 16 dup(?)string3 db 16 dup(?)string4 db 'ALL NOT EQU'string5 db 'TWO EQU'string6 db...
试编写一个汇编语言程序,要求依次输出ASCII码0---127对应的128个字符...
MOV DL,0 MOV SI,OFFSET TAB1 MOV DI,OFFSET MSG AG: PUSH CX PUSH DX MOV AX,0 MOV AL,DL MOV BL,10H DIV BL MOV BX,0 MOV BL,AH MOV DH,[SI+BX]MOV [DI+1],DH MOV BL,AL MOV DH,[SI+BX]MOV [DI],DH PUSH DX MOV DX,OFFSET MSG MOV AH,9 INT 21H POP DX MOV AH...
试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来...
;判断是不是小写字母 jb s2 cmp al,7ah ja s2 sub al,20h ;如果是减20H变成大写并输出 如果不是直接输出不减20H s2:mov dl,al ;输出AL mov ah,2 int 21h jmp s1 s3:mov ah,4ch int 21h 没调试写一下大概思路。
用汇编语言编写一个程序
在汇编语言中编写一个计算程序,用于求解表达式U = (X + (Y * Z - 100)) \/ W,其中X,Y,Z,W均为16位符号数。程序的初始数据段定义了变量X,Y,Z,W的具体数值。程序执行过程如下:首先,将数据段的地址加载到AX寄存器中,然后将DS寄存器设置为AX的值。接着,将Y的值加载到AX寄存器中,...
用汇编语言编写一个简单的程序
汇编语言中,数据的存储位置需要被明确指定。以字符串“helloworld!”为例,其中“db”符号表示一个字节,即8位数据位;“$”则标记着字符串的结尾。所有这些信息需要用单引号括起来。在程序的具体代码中,根据需要将这些信息准确地输入到相应的位置。在编写代码的中间区域,需要按照特定格式输入代码,比如...
试编写一个汇编语言程序 要求对键盘输入的小写字母
;;从键盘输入字符,;;若是 小写字母 显示"This is Lower case letters.";;若是其它字符不显示 CSEG SEGMENT ASSUME CS:CSEG,DS:CSEG MSG DB "This is Lower case letters."ORG 200H START:MOV AH,01H INT 21H CMP AL,61H JB NODSP CMP AL,7AH JA NODSP DSP:MOV AX,SEG MSG MOV DS...
编写一个完整的汇编语言程序,要求在屏幕上显示出字符串“Hello,Assembly...
datasegment msgdb'Hello,Assemblylanguage','$'dataends codesegment assumeds:data,cs:code mainprocfar movax,data movds,ax leadx,msg movah,9 int21h movax,4c00h int21h mainendp codeends endmain
用汇编语言编写一个程序
使用汇编语言编写程序实现用户登录功能,包含用户名和密码输入与验证。程序通过结构类型定义用户名和密码信息,并实现输出、获取光标位置、设置光标位置、窗口上滚、输入密码以及用户输入错误处理等功能。主要步骤包括初始化环境、输入用户名、验证用户名、输入密码、验证密码、显示欢迎信息和结束程序。程序首先初始...