ZKX's LAB

汇编:怎样显示数据,比如在屏幕上显示数字 12(新手求指教) 汇编语言 显示数字

2020-10-04知识9

汇编语言 怎样用显示器输出数字

汇编语言 输入三个数字,把最大的数字显示出来 ;这题以前有人问过data segmentX db 0Y db 0Z db 0data endscode segmentassume cs:code,ds:datastart:MOV AX,datamov ds,axlea si,Xcall readintlea si,Ycall readintlea si,Zcall readintmov ah,0mov al,Xcmp al,Yjb P0mov al,YP0:cmp al,Zjb P1mov al,ZP1:call printexit:mov ah,4chint 21hreadint proc nearmov bx,10read:mov ah,1int 21hcmp al,'0';not in '0'-'9'jb r0;then returncmp al,'9'ja r0sub al,30hxchg al,[si]mul blxchg[si],aladd[si],aljmp readr0:retreadint endpprint proc nearmov bx,10xor cx,cxQ0:xor dx,dxdiv bxxor dx,0E30hpush dxinc cxcmp ax,0jnz Q0Q1:pop axint 10hloop Q1retprint endpcode endsend start

汇编语言 如何显示数字 assume cs:code ds:datacode segmentstart:mov ax,0b800h mov es,ax mov al,35h;35h是5的ascll值 mov es:[0],ax mov al,32h;32h是2的ascll值 mov es:[2],ax mov ax,4c00h 。

用汇编语言显示这样的数字组合:第一排是123456789第一列123456789然后从左上角开始123456789到右下角,其 MASM 5.0编译通过,运行无误.data segmentM1 DB 0dh,0ah,'0123456789',0dh,0ahDB '11',0dh,0ah,'$'M2 DB 32H,0DH,0AH,'$'data endscode segmentassume cs:code,ds:datamain proc farbegin:push dsmov ax,0push axMOV AX,DATAMOV DS,AXmov ah,9mov dx,offset m1int 21hMOV CX,8NEXT:MOV DL,M2MOV AH,2INT 21HPUSH CXXOR CX,CXMOV CL,M2SUB CL,31HL2:MOV AH,2MOV DL,' 'INT 21HLOOP L2MOV AH,09MOV DX,OFFSET M2INT 21HPOP CXINC M2LOOP NEXTretmain endpcode endsend begin

用汇编语言显示这样的数字组合:第一排是123456789第一列123456789然后从左上角开始123456789到右下角,其 http://zhidao.baidu.com/question/494680378.html?oldq=1#reply-box-1240469340汇编输出横着0到9,竖着0到9,对角0到9MASM 5.0编译通过,运行无误。data segmentM1 DB 0dh,0ah,'0123456789',0dh,0ahDB '11',0dh,0ah,'$'M2 DB 32H,0DH,0AH,'$'data endscode segmentassume cs:code,ds:datamain proc farbegin:push dsmov ax,0push axMOV AX,DATAMOV DS,AXmov ah,9mov dx,offset m1int 21hMOV CX,8NEXT:MOV DL,M2MOV AH,2INT 21HPUSH CXXOR CX,CXMOV CL,M2SUB CL,31HL2:MOV AH,2MOV DL,' 'INT 21HLOOP L2MOV AH,09MOV DX,OFFSET M2INT 21HPOP CXINC M2LOOP NEXTretmain endpcode endsend begin

汇编语言数码管显示数字 你这是只要汇编语言程序,而不管电路是怎么连的?可这程序是否正确,需要用硬件电路或仿真图来验证了才行。假如不考虑电路,也不管运行结果是什么样,那就随便写十几行指令好了,反正也不用管对不对的。下面就是一个数码管显示0~9的仿真图,就是这样的结果。

汇编语言怎样将数字输出,为什么? 如果要用汇编显示东西,一般是调用中断来完成的(一般是int 21h),这里的int 21h其实是一个子程序,他是系统(dos)本身帮你写好了的,不用你管,你只要按要求把东西提供给他他就会完成它的功能,在汇编书上一般都有int 21h的功能说明,其中在int 21h里有显示字符,显示字符串两个功能,如果你想调用int 21h里显示字符的功能,那你要在程序里让ah=02h,dl=要显示字符的asc码?就这样:mov ah,02hint 21h(假设dl里已经放好东西了)这样就会在屏幕上显示dl里面的对应的字符,同理显示字符串你看看书上也有。但是int 21h这个程序只有他们,而没有显示数字的功能,所以你要把想显示的数转换为asc或字符串才能用int 21h 显示。

用汇编语言,将一个数字的ASCII码值显示出来 对于第1个字符,call htoasc 之后al里面应该是30H(这时候是对的,‘0’的ASCII码正是30H),然后又执行rol al,4,al变成03H了(结果已经错)。03H不是一个可显示字符,call dispc显示的结果当然不对,你应该把call htoasc 之后的rol al,4这行删掉。其实代码里面显示低位的时候就没有rol al,4

用汇编语言 外部输入数字的数码显示。求帮助、求程序、 ORG 0000HJMP BEGINORG 0030HTABLE:;共阴极数码管显示代码表DB 3FH,06H,5BH,4FH,66H;01234DB 6DH,7DH,07H,7FH,6fh;56789DELAY:MOV R5,#20LOOP4:MOV R6,#50H;延时20X20msLOOP5:MOV R7,#100DJNZ R7,$DJNZ R6,LOOP5DJNZ R5,LOOP4RETBEGIN:MOV P3,#0FFH;P3口置高电平,准备接收信号MOV R4,#0MOV A,R4;R4位标志值送A寄存器AGAIN:MOV DPTR,#TABLEMOVC A,@A+DPTRMOV P2,ALOOP1:MOV A,P3;CPL AJZ LOOP1LOOP2:RRC AINC R4JNC LOOP2MOV A,R4MOVC A,@A+DPTR;找到相应位显示代码MOV P2,ASJMP BEGINEND

#字符#al#汇编语言

随机阅读

qrcode
访问手机版