Число, находящееся в регистре AX, необходимо представить по основанию BX [2; 36] в виде остатков и вывести результат на экран в коде"36" с помощью int 21h $.
MySegment Segment 'code'
assume CS:MySegment,SS:MySegment,DS:MySegment,ES:MySegment
org 100h
Main Proc
mov ax,word ptr Source
mov bx,word ptr Base
mov di,8
division:
xor dx,dx
div bx
dec di
mov str1[di],dl
cmp ax,0
jnz division
mov ax,4C00h
int 21h
Main EndP
Base DW 13
Source DW 256
str1 db 8 dup(0)
; результат после выполнения:ВОТ ЭТОТ РЕЗУЛЬТАТ НАДО ВЫВЕСТИ НА ЭКРАН
; 00 00 00 00 00 01 06 09
MySegment EndS
End Main
Та же проблема с выводом на экран результата..
Прога делает следующее:Программа решает задачу, обратную к той, что решалась в программе которая находится выше: дана строка остатков в DS:SI и основание BX [2; 36]. Получить число в AX и вывести результат на экран в коде"36" с помощью int 21h $.
MySegment Segment 'code'
assume CS:MySegment,SS:MySegment,DS:MySegment,ES:MySegment
org 100h
Main Proc
mov bx,word ptr Base
xor ax,ax
xor cx,cx
lea si,str1
mov cl,len
work:
mul bl
add al,[si]
jnc normal
inc ah
normal:
inc si
loop work
; AX = 0100h
mov ax,4C00h
int 21h
Main EndP
Base DW 13
str1 db 1,6,9
len db $-str1
MySegment EndS
End Main