Программирование обработки, преобразования и ввода-вывода данных на ассемблере ПЭВМ. Домнин Л.Н. - 26 стр.

UptoLike

Составители: 

25
vvod ; Ввод значения d ; ;
asc_bin as,d ; Преобразование d (ASCII->BIN); ;
; ----------------------------------------------- ;
mov tap,offset a ; ; т ;
mov tap+2,offset b ; Формирование ; ;
mov tap+4,offset c ; таблицы ; ;
mov tap+6,offset d ; адресов ; ;
mov tap+8,offset y ; параметров ; ;
Продолжение прил.
lea bx,tap ; ; ;
call func ; Вызов func ; к ;
; ----------------------------------------------- ;
mov bx,offset ys ; Запись в стек ; ;
push bx ; адреса строки ; ;
; ; ASCII-кодов ; о ;
mov bx,y ; Запись в стек ; ;
push bx ; адреса y ; ;
call binasc ; Вызов binasc ; ;
; ----------------------------------------------- д ;
outdspl tekst2 ; Вывод ; ;
outdspl ys ; результата ; ;
outdspl tekst3 ; на дисплей ; ;
; ----------------------------------------------- а ;
mov ah,8 ;
int 21h ;
osn_prg endp ;
cseg ends ;
;-----------------------------------------------------------;
end osn_prg ; конец программы ;
Подпрограмма ascbin
Обеспечивает преобразование числа, представленного в виде
строки ASCII-кодов в формате ЗнЦЦЦ в двоичный дополни-
тельный код в формате слова. Перед запуском
ascbin адрес на-
чала строки ASCII-кодов должен быть помещен в регистр
si. Ре-
зультат перевода формируется в регистре
ax.
Используемые регистры
ax,bx,cx,si.
        vvod           ; Ввод значения d              ;       ;
        asc_bin as,d   ; Преобразование d (ASCII->BIN);       ;
;       -----------------------------------------------       ;
        mov     tap,offset a         ;                ;   т   ;
        mov     tap+2,offset b       ; Формирование   ;       ;
        mov     tap+4,offset c       ;   таблицы      ;       ;
        mov     tap+6,offset d       ;   адресов      ;       ;
        mov     tap+8,offset y       ; параметров     ;       ;

                                                Продолжение прил.

        lea     bx,tap           ;                    ;     ;
        call    func             ; Вызов func         ; к ;
;       -----------------------------------------------     ;
        mov     bx,offset ys         ; Запись в стек ;      ;
        push    bx                   ; адреса строки ;      ;
;                                    ; ASCII-кодов     ; о ;
        mov     bx,y             ; Запись в стек       ;    ;
        push    bx               ; адреса y           ;     ;
        call    binasc               ; Вызов binasc   ;     ;
;       ----------------------------------------------- д ;
        outdspl tekst2               ; Вывод          ;     ;
        outdspl ys                   ; результата      ;    ;
        outdspl tekst3               ; на дисплей      ;    ;
;       ----------------------------------------------- а ;
        mov     ah,8                                        ;
        int     21h                                         ;
osn_prg endp                                                ;
cseg    ends                                                ;
;-----------------------------------------------------------;
         end    osn_prg              ; конец программы      ;

                   Подпрограмма      ascbin

   Обеспечивает преобразование числа, представленного в виде
строки ASCII-кодов в формате ЗнЦЦЦ в двоичный дополни-
тельный код в формате слова. Перед запуском ascbin адрес на-
чала строки ASCII-кодов должен быть помещен в регистр si. Ре-
зультат перевода формируется в регистре ax.
    Используемые регистры ax,bx,cx,si.
                             25