ZKX's LAB

自己写了个简单的汇编程序:从键盘输入一个字符,再把它输出到显示器上。 结果错了,请问高手们应该怎样改 汇编从键盘输入

2021-03-17知识5

汇编从键盘输入一个7位二进制数,输出对应的字符 写好C语言,再用gcc编译器的-S开关直接输出GAS汇编格式语言,望采纳。

汇编语言,怎么从键盘输入字符串呢? 使用dos的10号功能调用实现。10号功能调用的缓冲区结构为 buf db 255,?255 dup?(注:各部分的含义:最大长度、输入串的实际长度(不含回车)、实际的串)例如:buf db 255,?255 dup?mov ah,10lea dx,bufint 21h实际的串的首地址在buf[2],可用 lea si,buf[2]得到

自己写了个简单的汇编程序:从键盘输入一个字符,再把它输出到显示器上。 结果错了,请问高手们应该怎样改 汇编从键盘输入

汇编 从键盘输入不超过15个字符的字符串,以回车为结束,将其中非数字和非字母的去掉 这个还是要自己写出来比较好的。你是学生吧?这些东西自己写对你的将来很有好处的

自己写了个简单的汇编程序:从键盘输入一个字符,再把它输出到显示器上。 结果错了,请问高手们应该怎样改 ;已修改好,问题在于DOS的9号功能调用会破坏先前输入的AL中的值。(见DEBUG调试示例)。另外为输出美观,也对DATA段稍做了修改。不错,加油!自己写了个简单的汇编程序:从键盘输入一个字符,再把它输出到显示器上。结果错了,请问高手们应该怎样改 检举|2012-11-22 21:06提问者:wentbc|浏览次数:13次DATA SEGMENTDATA SEGMENTSTR1 DB 'Input a letter:','$'STR2 DB 0DH,0AH,'You have inputed a:','$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA DX,STR1MOV AH,09HINT 21HMOV AH,01HINT 21HPUSH AX;保护AX(其实是保存输入的AL)LEA DX,STR2MOV AH,09HINT 21HPOP AX;恢复AX(其实是恢复AL)MOV DL,ALMOV AH,02HINT 21HMOV AH,4CHINT 21HCODE ENDSEND START附:debug下验证DOS的9号功能调用会破坏先前输入的AL中的值。E:\\masm>;debuga17B8:0100 mov ah,917B8:0102 mov al,8817B8:0104 mov dx,20017B8:0107 int 2117B8:0109 nop17B8:010Aa20017B8:0200 db 'Hello$'17B8:0206g109HelloAX=0924 BX=0000 CX=0000 DX=0200 SP=FFEE BP=0000 SI=0000 DI=0000DS=17B8 ES=17B8 SS=17B8 CS=17B8 IP=0109 。

汇编语言:从键盘输入一个字符串,再从键盘输入一个字符,如果在原字符串中有这个字符就把它移到最后, DATAS SEGMENTIN_X DB 16IN_N DB?IN_B DB 16 DUP('X')IN_E DB?MSG1 DB 'Please input STR(Len=1~15):',13,10,36MSG2 DB 13,10,'Please input a char:'MSG3 DB 13,10,36MSG4 DB 13,10,'no word.',13,10,36DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV AX,DATASMOV DS,AXLEA DX,MSG1MOV AH,9INT 21HLEA DX,IN_XMOV AH,10INT 21HCMP BYTE PTR IN_N,1JB EXITLEA DX,MSG2MOV AH,9INT 21HMOV AH,1INT 21HMOV IN_E,ALLEA DX,MSG3MOV AH,9INT 21HMOV AL,IN_ELEA BX,IN_BMOV CL,IN_NMOV CH,0LP1:CMP AL,[BX]JE DISPINC BXLOOP LP1JMP H_NOTDISP:MOV DH,ALMOV AH,2LEA BX,IN_BMOV CL,IN_NMOV CH,0MOV BP,0LP2:MOV DL,[BX]INC BXCMP BP,0JNE DISP1CMP DL,DHJNE DISP1MOV BP,1JMP NEXTDISP1:INT 21HNEXT:LOOP LP2MOV DL,DHINT 21HJMP EXITH_NOT:LEA DX,MSG4MOV AH,9INT 21HEXIT:MOV AH,4CHINT 21HCODES ENDSEND START可以满足题目要求。

汇编从键盘输入一个数字,求其平方 dup(0)ds,axlea:x[2+bx]and a numbe();dxax,0x to numberconvert2bin ah,90c0;proc mov ax;lea dx;code,ds;inc cxcmp ah,0ahmov ah;xchg?ah,4chcx,cxmov lea dx;mul dlxchg ax;mov al;y dw 0db string x db 10db;'Input,int 21hdxint 21hconvert push ax,datamov crlfsegmentstart:mov dx,0e30h'ax,yymov 10 mov ch;div bxxor,0mov call db:dx,istrmov cl,x[1]mov al,0fhxor dx;bx,10Q0;0ah;crlf dl,10mov print(ax)in decimalprint proc nearxor inc bxloop c0retconvert2bin endpbx,axmul jnz Q0Q1;y;int 21h10hloop Q1retprint endpcode endsend db,'$'data endsassume cs;mov ah;0dh;bx,0nearprintmov,pop axint yadd xmov istr axbxdatacode 21hcall convert2bin9intdata segment

用8086汇编语言编写程序,从键盘输入一段字符,以#结束,统计其中数字,字母,以及空格的个数。急急

#汇编从键盘输入#键盘扫描原理汇编

随机阅读

qrcode
访问手机版