Перейти к содержанию

Помогите решить задачку на tasm


Рекомендуемые сообщения

  • 2 недели спустя...


assume cs:cseg,ds:cseg,ss:cseg,es:cseg
.org 100h

start:

xor dx,dx
xor bx,bx
mov ah,08h
int 21h

sub al,30h
mov bl,al

mov ah,08h
int 21h

mov bh,al
sub al,30h
add bl,bh

mov dl,bl
add dl,30h
mov ah,02h
int 21h
int 20h
end start
cseg ends

cseg segment ; суммирование


cseg segment ; разница
assume cs:cseg,ds:cseg,ss:cseg,es:cseg
.org 100h

start:

xor dx,dx
xor bx,bx
mov ah,08h
int 21h

sub al,30h
mov bl,al

mov ah,08h
int 21h

mov bh,al
sub al,30h
cmp bh,bl
jb m1
sub bl,bh
mov dl,bl
jmp m2
m1:
sub bh,bl
mov dl,bh

m2:

add dl,30h
mov ah,02h ; вывод результата
int 21h
int 20h
end start
cseg ends


cseg segment ; произведение
assume cs:cseg,ds:cseg,ss:cseg,es:cseg
.org 100h

start:

xor dx,dx
xor bx,bx
mov ah,08h
int 21h

sub al,30h
mov bl,al

mov ah,08h
int 21h

mov bh,al
sub al,30h

xor ax,ax
mov ax,bl
mul bh

aam

mov dl,ah
add dl,30h
mov ah,02h
int 21h
mov dl,al
add dl,30h
int 21h

int 20h
end start
cseg ends


cseg segment ; деление
assume cs:cseg,ds:cseg,ss:cseg,es:cseg
.org 100h

start:

xor dx,dx
xor bx,bx
mov ah,08h
int 21h

sub al,30h
mov bl,al

mov ah,08h
int 21h

mov bh,al
sub al,30h
cmp bh,bl
jb m1
div bl,bh
mov dl,bl
jmp m2
m1:
div bh,bl
mov dl,bh

m2:

add dl,30h
mov ah,02h ; вывод результата
int 21h
int 20h
end start
cseg ends

ну примерно так, обычно писал на masme, но должно скомпилиться и в tasme

PS Все набранное компилить не пробовал, так что наверняка ошибок там масса

Ссылка на комментарий

1).org 100h поменять на org 100h

2)end start и cseg ends поменять местами :)

3)mov bh,al поменять 1 и 2 строку...

sub al,30h а то зараза выкидывает в алфавит вместо цифирок:)

в итоге 0 ошибок

Assembling file: 123.asm

Error messages: None

Warning messages: None

Passes: 1

Remaining memory: 418k

Ради интереса компилил только первую задачу, остальное думаю сделаешь сам :)smileman

тебе практически все на блюдечке подал :)

Ссылка на комментарий
  • 2 недели спустя...

структура под com архитектуру

assume cs:cseg,ds:cseg,ss:cseg,es:cseg ----> выравнивает под один сегмент)

1 шаг - tasm.exe code.asm ----> получили объектный файл

2 шаг - tlink.exe code.obj /t -----> слинковали получили code.com(не code.exe)

вроде работало все)

на masm должно быть так ml.exe code.asm /AT

Ссылка на комментарий

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...