Читать практическое задание по всему другому: "Языки программирования высокого уровня (Ассемблер)" Страница 5
строк.
А)Б)ah,01mov ax,0610h
Mov ch,5mov bh,07cl,12mov cx,0000 10hmov dx,184fh
Int 10h
. Закодируйте команды для умножения (MUL):
а) слова DATAX на слово DATAY;
б) двойного слова, начинающегося по адресу DATAX, на слово DATAY.
А)
c10mul proc
movax,datax
imuldatay
ret
c10mul endp
Б)
eioxmul proc
mov ax,datax+2
mul datay
mov product+4,ax
mov product+2,dx
mov ax,datax
Mul datay
addproduct+2,ax
adcproduct,dx
ret
eioxmul endp
53. Какой делитель, кроме 0, вызывает ошибку переполнения?
Делитель: - 1
. Закодируйте команды для деления (DIV):
а) слова DATAX на 23;
б) двойного слова, начинающегося по адресу DATAX, на слово DATAY. . Выполните вручную:
а) преобразование ASCII 46328 в двоичный формат (покажите результат в шестнадцатеричном виде);
б) преобразование полученного шестнадцатеричного значения обратно в ASCII-формат. А)
ДесятичноеШестнадцатеричное
*188
*102014
*10030012C
*100060001770
*10000400009C40
Результат:46328B4F8 . Определите таблицу, которая содержит имена дней недели, начиная с воскресенья.
STOKTBL DB 1’SUNDAY’
DB 2 ‘MONDAY’
DB 3 ‘TUESDAY’
DB 4 ‘WEDNESDAY’
DB 5 ‘THURSDAY’
DB 6 ‘FRIDAY’
DB 7 ‘SATURDAY’
57. Предполагая, что воскресенье равно 1 и что под каждое имя отведено по 11 символов, напишите команды прямого доступа к таблице, определенной в вопросе 60.page60,132
TITLEDIRECT (COM)
CODESG SEGMENT PARA 'Code'
ASSUME CS:CODESG,DS:CODESG,ES:CODESG
ORG100H
BEGIN: JMPSHORT MAIN
; ------------------------------------------------
THREEDB3
MONINDB'11'
ALFMON DB'???','$'
MONTAB DB'MON','TUE','WED','THU','FRI','SAT'
DB'SUN'
; ------------------------------------------------
MAINPROCNEAR
CALLC10CONV
CALLD10LOC
CALLF10DISP
RET
MAINENDP 58. Напишите функции базовой версии DOS для следующих операций:
а) создание файла; - mov ah, 16h
lea dx, FCBname int 21hб) установка DTA; - mov ah, 1ah
lea dx, DTAname
int 21h
в) последовательной записи; - mov ah,15
lea dx, FCBname
int 21h
г) открытие файла; - MOV Ah, OFH
LEA DX,FCBnameINT 21h
д) последовательного чтения. - MOV AH, 14H
LEA DX,FCBname INT 21h59. Напишите программу, которая создает дисковый файл.
;page60,132
;--------------------------------------
stacksg segment para stack 'stack'dw80 dup(?)ends
;-------------------------------------- segment para 'data'
reclenequ32labelbyte
maxlendbreclendb?dbreclen dup(' ') labelbytedb04db'namefile'db'dat'dw0000dw?dd?
dw?
dt?db00
dd?
crlfdb13,10,'$'errcdedb00db'name? ','$'
rowdb01 db'*** open error ***','$' db'*** write error ***', '$'ends
;-------------------------------------- segment para 'code' procfar cs:codesg,ds:datasg,ss:stacksg,es:datasg
pushds
subax,ax
pushax
movax,datasg
movds,ax
moves,ax
movax,0600h
callq10scr
callq20curs
callc100pen
cmperrcde,00
jza20loop
retloop:
calld10proc
cmpnamelen,00
jnea20loop
callg10clse
ret
beginendp
60. Напишите программу, которая выводит файл на экран.
c100pen procnear
movah,16h
leadx,fcbrec
int21h
cmpal,00
jnzc20
movfcbrcsz,reclen
leadx,namedta
movah,1ah
int21h
ret:
leadx,opnmsg
callx10err
ret
c100pen endp
61. Закодируйте два макроопределения для умножения:
а) MULTBY должна генерировать код для умножения байта на байт;
б) MULTWD должна генерировать код для умножения слова на слово.
Для множителя и множимого используйте в макроопределении формальные параметры. Напишите небольшую программу, в которой используются соответствующие макрокоманды и определены необходимые области данных.
А)
MULTBY MACRO
ASSUME CS:CSEG,DS:DSEG,SS:STACK;ES:DSEG
PUSH DS
FLDA DB 23DB 21FLDA,FLDB
ENDM Б)MACRO
ASSUME CS:CSEG,DS:DSEG,SS:STACK;ES:DSEG
PUSH DS
FLDA DW 12DW 34FLDA,FLDB
ENDM
Похожие работы
| Тема: Языки программирования высокого уровня |
| Предмет/Тип: Отсутствует (Курсовая работа (т)) |
| Тема: Языки обучения и языки изучения |
| Предмет/Тип: Гражданское право (Реферат) |
| Тема: Языки обучения и языки изучения |
| Предмет/Тип: ТГП (Реферат) |
| Тема: Языки огненные и языки человеческие |
| Предмет/Тип: Религиоведение (Статья) |
| Тема: Языки и технология программирования. Начальный курс. |
| Предмет/Тип: Информатика, ВТ, телекоммуникации (Учебное пособие) |
Интересная статья: Основы написания курсовой работы

(Назад)
(Cкачать работу)