Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2016, 15:57   #1
Dimas190597
 
Регистрация: 02.10.2016
Сообщений: 9
По умолчанию Помогите, нужно исправить 4 ошибки в коде программы

SSEG segment para stack 'stack'
db 1,2,3,4,5,6,7,8,9,128 dup(0Ah)
SSEG ends
DSEG segment para public 'data'
B_TAB db 1Ah,2Bh,3Ch,4Dh,5Eh,6Fh,7Ah,8Bh
W_TAB dw 1A2Bh,3C4Dh,5E6Fh,7A8Bh
B_TAB1 db 0Ah,8 dup(1)
W_TAB1 dw 8 dup(1)
DSEG ends
ESEG segment
W_TAB2 dw 11h,12h,13h,14h,15h,16h,17h,18h
ESEG ends
CSEG segment para public 'code'
PROG proc far
assume ds:DSEG,es:CSEG,ss:SSEG,es:ESEG
push ds
mov ax,0
push ax
;инициализация сегментных регистров
mov ax,dseg
mov ds,ax
mov ax,eseg
mov es,ax
;непосредственная (операнд-источник)
mov al,-3 ;расширение знака
mov ax,3
mov B_TAB,-3
mov W_TAB,-3
mov ax,2A1Bh
;регистровая
mov bl,al
mov bh,al
sub ax,bx
sub ax,ax
;прямая
mov ax,W_TAB
mov ax,W_TAB+3
mov ax,W_TAB+5
mov al,byte ptr W_TAB+6
mov al,B_TAB
mov al,B_TAB+2
mov ax,word ptr B_TAB
mov es:W_TAB2+4,ax
;косвенная
mov bx,offset B_TAB
mov si,offset B_TAB+1
mov di,offset B_TAB+2
mov dl,[bx]
mov dl,[si]
mov dl,[di]
mov ax,[di]
mov bp,bx
mov al,[bp] ;какой сегмент?
mov al,ds:[bp]
mov al,es:[bx]
mov ax,es:[bx]
;базовая
mov ax,[bx]+2 ;основная форма
mov ax,[bx]+4 ;проверьте допустимсть других
mov ax,[bx+2]
mov ax,[4+bx]
mov ax,2+[bx]
mov ax,4+[bx]
mov al,[bx]+2
mov bp,bx ;другой базовый регистр
mov ax,[bp+2] ;откуда содержимое ax?
mov ax,ds:[bp]+2 ;попробуем переназначить сегментный регистр
mov ax,ss:[bx+2]
;индексная
mov si,2 ;загрузка индекса
mov ah,B_TAB[si] ;основная форма
mov al,[B_TAB+si] ;проверьте другие
mov bh,[si+B_TAB]
mov bl,[si]+B_TAB
mov bx,es:W_TAB2[si]
mov di,4
mov bl,byte ptr es:W_TAB2[di]
mov bl,B_TAB[si]
;базовая индексная
mov bx,offset B_TAB
mov al,3[bx][si]
mov ah,[bx+3][si]
mov al,[bx][si+2]
mov ah,[bx+si+2]
mov bp,bx
mov ah,3[bp][si]
mov ax,ds:3[bp][si]
mov ax,word ptr ds:2[bp][si]
ret
PROG endp
CSEG ends
end PROG
Dimas190597 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить ошибки в коде lomik222 Общие вопросы C/C++ 5 11.03.2016 09:51
Помогите пожалуйста исправить ошибки в коде Nata Golden rose Общие вопросы C/C++ 6 18.05.2014 23:28
Ошибки в коде. Необходимо исправить. Vladzis Общие вопросы C/C++ 6 06.05.2014 17:28
помогите исправить программы (найти ошибки).... aiktz Помощь студентам 6 20.05.2009 19:25