ZKX's LAB

汇编语言数字显示 汇编语言数码管显示数字

2021-03-06知识18

用汇编语言显示一串数字的二进制 是一个数字的二进制,还是一串?附件是显示一个数字的,要显示一串,还要加双循环,或者改用子程序。下面是显示一串数字的dseg segmenti dw 12345,23,443,5556,333len dw$-idseg endscseg segmentassume cs:cseg,ds:dsegstart:mov ax,dsegmov ds,axxor ax,axmov cx,lenshr cx,1mov si,0mov ah,2mr:mov bx,[i+si]call printBininc siinc siloop mrmov ah,4chint 21hprintBin proc nearpush cxmov cx,16r:rol bx,1mov dl,bland dl,1add dl,30hint 21hloop rmov dl,0dhint 21hmov dl,0ahint 21hpop cxretprintBin endpcseg endsend start

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

汇编语言 如何显示数字 assume 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。

汇编语言 输入三个数字,把最大的数字显示出来 ;这题以前有人问过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

用汇编语言显示这样的数字组合:第一排是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

用汇编语言,将一个数字的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

汇编语言 怎样用显示器输出数字 简单说下~怎样用显示器输出数字把你要显示的东西写进显存~例如 mov ax,0b800h/这是显存的起始地址 mov ds,ax mov si,0 mov cx,2000 s:mov ds:[si],41h mov ds:[si+1],2 。

汇编语言 怎样用显示器输出数字 简单说下~怎样用显示器输出数字把你要显示的东西写进显存~例如 mov ax,0b800h/这是显存的起始地址mov ds,axmov si,0mov cx,2000s:mov ds:[si],41hmov ds:[si+1],2loop sds:[si]低位存值ds:[si+1]高位存颜色也就是2个字节显示一个字符什么的~依此类推~

汇编语言数字显示 汇编语言数码管显示数字

用汇编语言 外部输入数字的数码显示。求帮助、求程序、 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

用汇编语言显示这样的数字组合:第一排是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

#汇编语言数字显示

随机阅读

qrcode
访问手机版