1、STACK ENDSDATA SEGMENT ARRAY DB 200 DUP(?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX LEA DI,ARRAY MOV SI,DI MOV CL,DI XOR CH,CH MOV BL,CH INC DI AGAIN:TEST BYTE PTRDI,80H JZ POSI INC BL POSI: LOOP AGAIN MOV SI+1,BL MOV AH,4CH INT 21HCODE ENDS END START编一个完整地汇编语
2、言程序,完成从键盘输入一个字符,若输入地是1字符,则在屏幕上显示你地英文名字;若输入地是2字符,则在屏幕上显示你地学号.若输入地不是1或者2字符,则重新输入. STRING1 DB DO YOU WANT TO INPUT STRING?(Y/N):$ CRLF DB 0DH,0AH,$ STRING2 DB PLEASE INPUT STRING.,0DH,0AH,$ NAME DB ZHANG SAN. ,0DH,0AH,$ NUMBER DB 020701053. ,0DH,0AH,$ LEA DX,STRING1 MOV AH,09H MOV AH,01H CMP AL,Y JE IN
3、PUT CMP AL,y JNE DONE INPUT: LEA DX,CRLF LEA DX,STRING2 CMP AL,1 JE DISPNAME CMP AL,2 JE DISPNUMBER JMP AGAINDISPNAME: LEA DX,NAME JMP DONEDISPNUMBER:LEA DX,NUMBER DONE:假设有一字节型数组ARRAY,编写完整地汇编语言程序求该数组中小于80H地数地个数.其中,在该数组地第一个字节存放地是数组中所包含地数据地个数,第二个字节用来存放结果,数组中地第三个字节开始存放地是数组中地数据.1. 写出编程思想;2. 编写完整地源程序.1.编
4、程思想将数组中地每个数逐个与80H比较,根据大小关系方可统计出数组中小于80H地数地个数2.完整地源程序CMP BYTE PTRDI,80H JAE L1 L1:在存储器DATABUF以下连续地单元存放着由字符0 9或A F组成地一串字符(字符个数自定义或用其它方法求解),试编写完整地8086汇编语言程序,将其转换成数字存回原处.(如某单元地字符为1,即31H,就转换成01H;为A, 即41H,就转换成0AH) 将存储器DATABUF以下连续地单元中地每个数与39H(1字符地ASCLL码)比较,若该数小于等于39H,则将该数减去30H,否则将该数减去37H,其结果就是该字符对应地数字.2. 完
5、整地源程序 DATABUF DB 1234ABCDdcsa56 COUNT EQU $-DATABUF MOV SI,OFFSET DATABUF MOV CX,COUNT NEXT: MOV AL,SI CMP AL,39H JBE L1 SUB AL,7 SUB AL,30H MOV SI,AL INC SI LOOP NEXT在当前数据段,偏移地址为DATAB开始地顺序80个单元中,存放着某班80个同学某门课考试地成绩,编写程序统计高于等于90分,80分89分,70分79分,60分69分,低于60分地人数各为多少,将结果放在同一数据段、偏移地址为BTRX开始地顺序单元中.1. 写出编程思
6、想.将偏移地址为DATAB开始地顺序80个单元中地数分别与90、80、70、60比较,根据比较地大小关系就可统计出高于等于90分,80分89分,70分79分,60分69分,低于60分地人数. DATAB DB 80 DUP(? BTRX DB 5 DUP(00H) MOV SI,OFFSET DATAB MOV DI,OFFSET BTRX XOR BX,BX XOR DX,DX MOV CX,80 CMP AL,90 JB C80 INC BH ;90分地人数 JMP AAA C80: CMP AL,80 JB C70 INC BL ;80分地人数 C70: CMP AL,70 JB C60
7、 INC DH ;70分地人数 C60: CMP AL,60 JB AAA INC DL ;60分地人数 AAA: MOV AL,80 SUB AL,BH SUB AL,BL SUB AL,DH SUB AL,DL ;50分地人数 MOV DI,BH MOV DI+1,BL MOV DI+2,DH MOV DI+3,DL MOV DI+4,AL编写完整地汇编语言程序,实现从键盘输入一串字符,并在屏幕上显示出来.2. 编写完整地汇编语言程序.用DOS 0AH号功能完成从键盘输入一串字符,用DOS 09H号功能完成屏幕地显示.2. 完整地汇编语言程序STRING1 DB DO YOU WANT TO INPUT STRING? BUFIN DB 20H DB ? BUFIN1 DB 20H DUP(? LEA DX,BUFIN MOV AH,0AH MOV AL,BUFIN+1 CBW LEA SI,BUFIN+2 ADD SI,AX MOV BYTE PTR SI,$ INT 21H LEA DX,BUFIN+2
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1