646 TITLE Ex5a.ASM ;==== H„mta HEX-tecken fr†n 'Buffer' och skriv ut dem p† ;==== sk„rmen efter konvertering HEX -> ASCII ;==== Vi beh”ver inte veta antalet tecken som skall skrivas ut ;==== om vi ist„llet vet att sista tecken „r 00. ;==== Str„ngar som slutar s† brukar kallas ASCIIZ-str„ngar. ;-------------------------------------------------------------------------- CSEG SEGMENT ASSUME CS:CSEG,DS:CSEG ORG 100H Start: jmp begin ;================================================= Buffer db 1,2,3,4,5,6,0 ;================================================= ;-------------------------------------------------------------------------- ;===== H„mta tecken fr†n Buffer och skriv ut tecknet FromBuffer PROC NEAR mov di,OFFSET Buffer ;St„ll pekare Next_Char: mov al,[di] ;1:a tecken h„mtas cmp al,00h ;Tecken = 0? jz Avsluta ;om s† sluta add al,30h ;eljest HEX -> ASCII mov dl,al ;Skriv mov ah,02h int 21h inc di ;™ka pekare jmp Next_Char Avsluta: ret FromBuffer ENDP ;========================================================================== Begin: call FromBuffer ret ;-> DOS ;-------------------------------------------------------------------------- CSEG ENDS END Start ;========================================================================== . 0