Написание программы, позволяющей осуществлять ввод с клавиатуры двоичных чисел и их вычитание, страница 3

ESP=00122FF84            0V=0

ECX=00426050              UP=0

EDI=00000000               EI=1

EBP=0012FFC0             PL=0

Стек:

0011FF64   CC     CC     CC     CC     CC     CC     CC

0012FF6B   CC     CC     CC     CC     CC     CC     CC

0012FF72   CC     CC     CC     CC     CC     CC     03

0012FF79   00      00      00      05      00      00      00

0012FF80   C0     FF      12      00      79      38      40

0012FF87   00      01      00      00      00      40      0E

0012FF8E   43      00      80      0D     43      00      00

0012FF95   00      00      00      00      00      00      00

0012FF9C   00      F0      FD     7F      00      00      00

Индивидуальное задание:

Ввод с клавиатуры двоичных чисел и вычитание.

Приложение на языке

Assembler

Приложение на языке С++

.model small

#include <iostream.h>

.stack 100h

void main()

.code

{

start:

int r=0, ra=0, a, b;

mov  ax,DGROUP

mov  dx, ax

xor  bx,bx

mov  dx, offset message1

printf(“Вычисляемое число: \n”);

mov  ah, 9

sin <<a;

int  21h

if(a==1) r=8;

mov  ah, 01h

int  21h

mov  bl, al

sub  bl, ‘1’

jb  r2

mov  bh, 8 

r2:

sin <<a;

mov  ah, 01h

if(a==1) r=r+4;

int  21h

mov  bl, al

sub  bl, ‘1’

jb  r1

mov  bh, 4 

r1:

sin <<a;

mov  ah, 01h

if(a==1) r=r+2;

int  21h

mov  bl, al

sub  bl, ‘1’

jb  r0

mov  bh, 2 

r0:

sin <<a;

mov  ah, 01h

if(a==1) r=r+1;

int  21h

mov  bl, al

sub  bl, ‘1’

jb  two

mov  bh, 1 

two:

mov  dx, offset crlf

mov  ah, 9

int  21h

mov  dx, offset message2

printf(“Вычитаемое число: \n”);

mov  ah, 9

int  21h

xor  dx, dx

mov  ah, 0lh

int  21h