نمایش یک عدد به شیوه دیجیتال 7Segment در زبان اسمبلی

the_king

مدیرکل انجمن
کد زیر بعد از دریافت یک عدد آنرا به شیوه دیجیتال 7Segment نمایش می دهد :

کد:
.model tiny
.code
.startup
	mov     ax,0b800h
	mov     es,ax
	mov     ax,3
	int     10h
	mov     ah,1
	int     21h
	mov     bl,al
	sub     al,'0'
	cmp     al,9
	ja      lend
	mov     cx,7
	mul     cl
	mov     si,ax
	add     si,offset n0
	mov     di,500
	cld
	mov     ah,7
l000:
	mov     cx,12
	lodsb
	rep     stosw
	add     di,138
	mov     cx,10
	rep     stosw
	sub     di,24
	lodsb
	stosw
	add     di,158
	mov     cx,4
l001:
	stosw
	stosw
	add     di,156
	loop    l001
	stosw
	sub     di,776
	lodsb
	stosw
	add     di,156
	mov     cx,4
l002:
	stosw
	stosw
	add     di,156
	loop    l002
	add     di,2
	stosw
	sub     di,24
	mov     cx,10
	lodsb
	rep     stosw
	add     di,140
	mov     cx,10
	rep     stosw
	sub     di,24
	lodsb
	stosw
	add     di,158
	mov     cx,4
l003:
	stosw
	stosw
	add     di,156
	loop    l003
	stosw
	sub     di,776
	lodsb
	stosw
	add     di,156
	mov     cx,4
l004:
	stosw
	stosw
	add     di,156
	loop    l004
	add     di,2
	stosw
	sub     di,24
	mov     cx,10
	lodsb
	rep     stosw
	add     di,138
	mov     cx,12
	rep     stosw
lend:
	.exit   0
	n0      db '000 000'
	n1      db '  1  1 '
	n2      db '2 222 2'
	n3      db '3 33 33'
	n4      db ' 444 4 '
	n5      db '55 5 55'
	n6      db '66 6666'
	n7      db '7 7  7 '
	n8      db '8888888'
	n9      db '9999 99'
end
 

جدیدترین ارسال ها

بالا