Помогите найти TD32.exe
» Assembler
вопрос профессионалам ассемблера:
насколько реально переписать Веб-сервер с Дельфи на АСМ.
будет ли от этого существенное повышение быстродействия?
насколько реально переписать Веб-сервер с Дельфи на АСМ.
будет ли от этого существенное повышение быстродействия?
alecksey1984
я не профессионал Ассемблера.
но:
1) Вы ЯВНО не представляете себе что означает "переписать Веб-сервер с Дельфи на АСМ"!!! ни по затратам времени, ни по финансовым затратам!!
Если это вообще реально!!!!
2) Деталей для ответа явно маловато - что за "Веб-сервер", что делает, какая нагрузка и т.д.
Так что - просто ИМХО, большого прироста производительности это не даст!!
а вот если его переписать ГРАМОТНО (на любом языке, хоть на том же Дельфи), то это может принести ГОРАЗДО больше пользы в плане эффективности.
Впрочем, это зависит от сотен разных факторов. Так, "с кондочка", конкретный ответ дать невозможно.
я не профессионал Ассемблера.
но:
1) Вы ЯВНО не представляете себе что означает "переписать Веб-сервер с Дельфи на АСМ"!!! ни по затратам времени, ни по финансовым затратам!!
Если это вообще реально!!!!
2) Деталей для ответа явно маловато - что за "Веб-сервер", что делает, какая нагрузка и т.д.
Так что - просто ИМХО, большого прироста производительности это не даст!!
а вот если его переписать ГРАМОТНО (на любом языке, хоть на том же Дельфи), то это может принести ГОРАЗДО больше пользы в плане эффективности.
Впрочем, это зависит от сотен разных факторов. Так, "с кондочка", конкретный ответ дать невозможно.
ребят, помогите кто нить плиз, я что то вообще не понимаю что к чему)
Создать с помощью директивы ММ монитора во внутреннем ОЗУ массив из натурального ряда чисел от 0 до 21, начиная с адреса 30Н. Отладить и запустить прогу, с помощью которой переслать во внешнюю память, начиная с адреса 5000Н, все элементы массива, кратные 3, с адреса 5030Н-кратные 4
Создать с помощью директивы ММ монитора во внутреннем ОЗУ массив из натурального ряда чисел от 0 до 21, начиная с адреса 30Н. Отладить и запустить прогу, с помощью которой переслать во внешнюю память, начиная с адреса 5000Н, все элементы массива, кратные 3, с адреса 5030Н-кратные 4
Помогите решить задание! Заранее спасибо.
Дан список из 20 слов по 10 символов в каждом. Напечатать
его в обратном алфавитном порядке, предварительно удалив из него
повторяющиеся слова. При сортировке игнорировать высоту букв
(Например, A = a).
Дан список из 20 слов по 10 символов в каждом. Напечатать
его в обратном алфавитном порядке, предварительно удалив из него
повторяющиеся слова. При сортировке игнорировать высоту букв
(Например, A = a).
SERGE_BLIZNUK
Основанный на компонентах Indy Веб-сервер использует концепцию скриптов DVS в своем формате файла. Задача в том и состоит партировать на Assember Indy и механизм парсировки-исполнения скриптов DVS.
Основанный на компонентах Indy Веб-сервер использует концепцию скриптов DVS в своем формате файла. Задача в том и состоит партировать на Assember Indy и механизм парсировки-исполнения скриптов DVS.
Помогите, задача: пузырьковая сортировка на ассемблере под дос
есть процедура осуществляющая это (взята с книги Зубкова "Асемблер для ДОС, Виндовс и Линукс").
Ее необходимо оформить в програмку с выводом масива "до" и "после". Размер масива в близи 20 элементов
Заранее благодарю!!
есть процедура осуществляющая это (взята с книги Зубкова "Асемблер для ДОС, Виндовс и Линукс").
Ее необходимо оформить в програмку с выводом масива "до" и "после". Размер масива в близи 20 элементов
Заранее благодарю!!
Aisha Dare
массив из 20 элементов ЧЕГО?! (строки, числа, размер элемента!)
приведите исходный текст
(только обязательно спрячьте программку за тегами (это специальные ключевые слова в квадратных скобочках )
т.е. сделайте так:
напишите [no][MORE]
Код:
тут исходный текст Вашей программы
...
потом тэги надо закрыть:
массив из 20 элементов ЧЕГО?! (строки, числа, размер элемента!)
приведите исходный текст
(только обязательно спрячьте программку за тегами (это специальные ключевые слова в квадратных скобочках )
т.е. сделайте так:
напишите [no][MORE]
Код:
тут исходный текст Вашей программы
...
потом тэги надо закрыть:
сортировка чего угодно можно чисел, можно слов. Пожалуй числа нагляднее.
процедура:
[MORE]
Код:
; Процедура bubble_sort
; сортирует массив двойных слов методом пузырьковой сортировки
; ввод: DS:EDI = адрес массива
; EDX = размер массива (в двойных словах)
bubble_sort proc near
pushadw
cld
cmp edx,1
jbe sort_exit ; выйти, если сортировать нечего
dec edx
sb_loop1:
mov ecx,edx ; установить длину цикла
xor ebx,ebx ; EBX будет флагом обмена
mov esi,edi ; ESI будет указателем на
; текущий элемент
sn_loop2:
lodsdw ; прочитать следующее слово
cmp eax,dword ptr [esi]
jbe no_swap ; если элементы не
; в порядке,
xchg eax,dword ptr [esi] ; поменять их местами
mov dword ptr [esi-4],eax
inc ebx ; и установить флаг в 1,
no_swap:
loop sn_loop2
cmp ebx,0 ; если сортировка не закончилась,
jne sn_loop1 ; перейти к следующему элементу
sort_exit:
popadw
ret
bubble_sort endp
процедура:
[MORE]
Код:
; Процедура bubble_sort
; сортирует массив двойных слов методом пузырьковой сортировки
; ввод: DS:EDI = адрес массива
; EDX = размер массива (в двойных словах)
bubble_sort proc near
pushadw
cld
cmp edx,1
jbe sort_exit ; выйти, если сортировать нечего
dec edx
sb_loop1:
mov ecx,edx ; установить длину цикла
xor ebx,ebx ; EBX будет флагом обмена
mov esi,edi ; ESI будет указателем на
; текущий элемент
sn_loop2:
lodsdw ; прочитать следующее слово
cmp eax,dword ptr [esi]
jbe no_swap ; если элементы не
; в порядке,
xchg eax,dword ptr [esi] ; поменять их местами
mov dword ptr [esi-4],eax
inc ebx ; и установить флаг в 1,
no_swap:
loop sn_loop2
cmp ebx,0 ; если сортировка не закончилась,
jne sn_loop1 ; перейти к следующему элементу
sort_exit:
popadw
ret
bubble_sort endp
Написание программы-текстового редактора
Написать программу-примитивный текстовый редактор. программа должна вводить информацию с клавиатуры и отображать ее на экране монитора. Ввод данных должен выполняться с использованием функций BIOS. Управление курсором должно выполняться через регистры видеоконтроллера. Программа должна отрабатывать нажатия на клавиши Enter, BackSpace, Delete, а так же ←,↑,→ и ↓. Текст должен быть сохранен в файле при помощи функций DOS.
Помогите пожалуйста))
Написать программу-примитивный текстовый редактор. программа должна вводить информацию с клавиатуры и отображать ее на экране монитора. Ввод данных должен выполняться с использованием функций BIOS. Управление курсором должно выполняться через регистры видеоконтроллера. Программа должна отрабатывать нажатия на клавиши Enter, BackSpace, Delete, а так же ←,↑,→ и ↓. Текст должен быть сохранен в файле при помощи функций DOS.
Помогите пожалуйста))
Styks
задача довольно объёмная, никто её делать не будет, так что не теряй время -- или ищи готовый код, или найми кого-нибудь
задача довольно объёмная, никто её делать не будет, так что не теряй время -- или ищи готовый код, или найми кого-нибудь
Люди добрые!!!! Помогите пожалуйста с задачей!!! Завтра экзамен, а я в этом ни бум-бум почти! Очень срочно!!! Заранее спасибо!
написать программу на языке Ассемблера для решения задачи:
на входы порта поступают сигналы 0 или 1 от восьми датчиков. Необходимо постоянно опрашивать состояние датчиков. Если число единиц на входе порта больше 5 в порт вывода выводится код FF16. В противном случае в порт вывода выводится код 0016. Произвести трансляцию в объектную программу.
написать программу на языке Ассемблера для решения задачи:
на входы порта поступают сигналы 0 или 1 от восьми датчиков. Необходимо постоянно опрашивать состояние датчиков. Если число единиц на входе порта больше 5 в порт вывода выводится код FF16. В противном случае в порт вывода выводится код 0016. Произвести трансляцию в объектную программу.
arhey262
если ты из гуманитарного вуза, то тебе прямая дорога сюда,
а если ты учишься на "программиста", да ещё системщика-хардверщика, то извини...
если ты из гуманитарного вуза, то тебе прямая дорога сюда,
а если ты учишься на "программиста", да ещё системщика-хардверщика, то извини...
Задан массив из 20 элементов.Найти и вывести последний из четных элементов массива кратный числу 8
буду признателен если поможете с этой задачей!
буду признателен если поможете с этой задачей!
Ребята, кто-нибудь знает какую-нибудь книженцию по асму x64, выложенную в инете?
Vostrikovskiy
шапку первого письма слабО посмотреть?
шапку первого письма слабО посмотреть?
akaGM
Я не понял, какого первого письма? Где оно находится?
Я не понял, какого первого письма? Где оно находится?
Vostrikovskiy
вверху темы часто есть сообщение, которое видно на каждой странице темы.
Это называют "шапкой" темы.
в данной шапке есть ссылка на литературу:
Ассемблер - книги (ASM, Assembler)
вверху темы часто есть сообщение, которое видно на каждой странице темы.
Это называют "шапкой" темы.
в данной шапке есть ссылка на литературу:
Ассемблер - книги (ASM, Assembler)
SERGE_BLIZNUK
Спасибо: переправил свой вопрос туда.
Спасибо: переправил свой вопрос туда.
Вывести наименьший нечетный элемент массива кратный числу 7.
помогите плиз
помогите плиз
пожалуйста помогите решить простую задачку
Задан массив(вводить не нужно) Нужно проверить повторяется ли максимальный элемент в массиве.Вывести сообщение типа Да или Нет.
вот написал скелетик, все что смог написать (остальное не могу написать хоть убей)
.model tiny
.code
org 100h
start:
;....помогите..............
;.....пожалуйста.............
Arr dw 1,6,3,4,6 ;заданный массив
n dw 5 ;кол-во элементов
Res_yes db 'Yes'
db 0Dh,0Ah,'$'
Res_no db 'No'
db 0Dh,0Ah,'$'
end start
Задан массив(вводить не нужно) Нужно проверить повторяется ли максимальный элемент в массиве.Вывести сообщение типа Да или Нет.
вот написал скелетик, все что смог написать (остальное не могу написать хоть убей)
.model tiny
.code
org 100h
start:
;....помогите..............
;.....пожалуйста.............
Arr dw 1,6,3,4,6 ;заданный массив
n dw 5 ;кол-во элементов
Res_yes db 'Yes'
db 0Dh,0Ah,'$'
Res_no db 'No'
db 0Dh,0Ah,'$'
end start
molko
что именно не получается!!?
я вижу два алгоритма решения.
1) эффективнее (однопроходный), но чуть-чуть сложнее:
в начали иницилизация:
Max := Arr[1]
Cnt := 1
проходим в цикле от 2 до n, ищем максимальный элемент, каждый раз, найдя элемент больше имеющегося
[no]
if Arr[i]> Max then
Max := Arr[i]
Cnt := 1
else
if Max = Arr[i] then Cnt := Cnt + 1
после цикла - if Cnt>1 then write('YES')
else write('NO')
[/no]
2) алгоритм - проходим один раз, ищем максимальные элемент.
второй раз проходим, считаем, сколько раз он встретился.
Дальше - проверка такая же...
p.s. я бы выбрал первый алгоритм. он красивее :)
что именно не получается!!?
я вижу два алгоритма решения.
1) эффективнее (однопроходный), но чуть-чуть сложнее:
в начали иницилизация:
Max := Arr[1]
Cnt := 1
проходим в цикле от 2 до n, ищем максимальный элемент, каждый раз, найдя элемент больше имеющегося
[no]
if Arr[i]> Max then
Max := Arr[i]
Cnt := 1
else
if Max = Arr[i] then Cnt := Cnt + 1
после цикла - if Cnt>1 then write('YES')
else write('NO')
[/no]
2) алгоритм - проходим один раз, ищем максимальные элемент.
второй раз проходим, считаем, сколько раз он встретился.
Дальше - проверка такая же...
p.s. я бы выбрал первый алгоритм. он красивее :)
не получается почти все. вообще ассемблер туго очень понимаю.
SERGE_BLIZNUK
на паскале эту задачу и я смогу написать за пару минут, а вот на ассемблер перевести не могу. вот прошу вашей помощи!
SERGE_BLIZNUK
на паскале эту задачу и я смогу написать за пару минут, а вот на ассемблер перевести не могу. вот прошу вашей помощи!
;; компилятора нету, проверить не смог)
;; но что то вроде того:
mov AX,CS
mov DS,AX ;;load prog register
lea DX,arr
mov BX,MAX
mov CX,n
xor SI,SI
next:
cmp [DX],BX ;;cpavnivaem s max
jl NextHel ;;если меньше то сразу след элемент
jne neEq ;;если больший то обраб
inc SI
jmp nextHel
neEq:
mov BX,[DX]
xor SI,SI
NextHel:
;;next helem
inc DX
inc DX
dec CX
jnz next
mov AX,09h
text SI,SI
jnz yyyyes
lea DX,Res_no ;; прерывание вывода на экран строки,
;; но не помню точно ли в дх должен быть её адресс
int 21h
int 29h ;;
yyyyes:
lea DX,Res_yes
int 21h
int 29h ;;не помню, вроде это прерывание заканчивает
MAX dw 0 ;;max Element
;; но что то вроде того:
mov AX,CS
mov DS,AX ;;load prog register
lea DX,arr
mov BX,MAX
mov CX,n
xor SI,SI
next:
cmp [DX],BX ;;cpavnivaem s max
jl NextHel ;;если меньше то сразу след элемент
jne neEq ;;если больший то обраб
inc SI
jmp nextHel
neEq:
mov BX,[DX]
xor SI,SI
NextHel:
;;next helem
inc DX
inc DX
dec CX
jnz next
mov AX,09h
text SI,SI
jnz yyyyes
lea DX,Res_no ;; прерывание вывода на экран строки,
;; но не помню точно ли в дх должен быть её адресс
int 21h
int 29h ;;
yyyyes:
lea DX,Res_yes
int 21h
int 29h ;;не помню, вроде это прерывание заканчивает
MAX dw 0 ;;max Element
molko
Давненько я на ДОСовском ассемблере не писал...
Примерно так:
Код: .model tiny
.code
org 100h
start:
mov dx, Arr ; первый элемент массива
mov cx, n ; количество элементов
dec cx ; количество сравнений (на 1 меньше количества элементов)
xor bx, bx ; результат (0 - повторов нет, 1 - есть)
; далее обрабатываем элементы начиная с последнего и до второго
m1:
lea si, Arr
add si, cx
add si, cx
mov ax, [si]
cmp ax, dx
jb m3
ja m2
mov bx, 1
jmp m3
m2:
mov dx, ax
xor bx, bx
m3:
loop m1
; обработка закончена, печатаем результат и завершаемся
lea dx, Res_no
or bx, bx
je m4
lea dx, Res_yes
m4:
mov ah, 09h
int 21h
mov ax, 4C00h
int 21h
Arr dw 1,6,3,4,6 ;заданный массив
n dw 5 ;кол-во элементов
Res_yes db 'Yes'
db 0Dh,0Ah,'$'
Res_no db 'No'
db 0Dh,0Ah,'$'
end start
Давненько я на ДОСовском ассемблере не писал...
Примерно так:
Код: .model tiny
.code
org 100h
start:
mov dx, Arr ; первый элемент массива
mov cx, n ; количество элементов
dec cx ; количество сравнений (на 1 меньше количества элементов)
xor bx, bx ; результат (0 - повторов нет, 1 - есть)
; далее обрабатываем элементы начиная с последнего и до второго
m1:
lea si, Arr
add si, cx
add si, cx
mov ax, [si]
cmp ax, dx
jb m3
ja m2
mov bx, 1
jmp m3
m2:
mov dx, ax
xor bx, bx
m3:
loop m1
; обработка закончена, печатаем результат и завершаемся
lea dx, Res_no
or bx, bx
je m4
lea dx, Res_yes
m4:
mov ah, 09h
int 21h
mov ax, 4C00h
int 21h
Arr dw 1,6,3,4,6 ;заданный массив
n dw 5 ;кол-во элементов
Res_yes db 'Yes'
db 0Dh,0Ah,'$'
Res_no db 'No'
db 0Dh,0Ah,'$'
end start
Prober и
aridtree большое спасибо!
Добавлено:
еще маленькая просьба есть.
Нужно реализовать ввод с клавиатуры и вывод массива состоящего из целых чисел, я сделал тока ввод и вывод одного целого числа. не знаю как сделать цикл, не подскажете как это сделать? да еще вначале необходимо вводить размерность массива а потом уже ввод элементов и их вывод
Код:
Код: .MODEL tiny
.CODE
org 100h
; ввод с клавиатуры целого числа и вывод его на экран
_start:
; ввод числа в регистр AX
call ReadInteger
mov A,ax
; перевод строки
mov ah,09h
lea dx,crlf
int 21h
; вывод заголовка
mov ah,09h
lea dx,res
int 21h
; вывод числа из AX
mov ax,A
call WriteInteger
ret
; ввод 10-числа в регистр AX
ReadInteger proc
push cx ; сохранение регистров
push bx
push dx
mov fl,0 ; флаг отрицательного числа
xor cx, cx
mov bx, 10
call ReadChar ; ввод первого символа
cmp al,'-' ; если минус - установить флаг
je nnn
jmp nn
nnn:
mov fl,1
read:
call ReadChar ; ввод очередного символа
nn: cmp al, 13 ; Enter ?
je done ; да - > завершение
sub al, '0' ; нет -> перевод цифры char -> int
xor ah, ah
xor dx, dx
xchg cx, ax
mul bx
add ax, cx
xchg ax, cx
jmp read
done:
xchg ax, cx
cmp fl,1
je eee
jmp ee
eee:
neg ax
ee:
pop dx
pop bx
pop cx
ret
ReadInteger endp
; ввод одного символа
ReadChar proc
mov ah,1
int 21h
ret
ReadChar endp
; вывод 10-числа
WriteInteger proc near
push ax
push cx
push bx
push dx
xor cx, cx
mov bx, 10
; число отрицательное?
cmp ax,0
jl ddd ; если - да
jmp divl ; если - нет
; вывести минус и поменять знак
ddd:
push ax
mov dl, '-'
mov ah, 2
int 21h
pop ax
neg ax
; получить 10-цифры и поместить их в стек,
; в cx - количество полученных цифр
divl:
xor dx, dx
idiv bx
push dx
inc cx
cmp ax,0
jg divl
; достать из стека, перевести в код ASSII и вывести
popl:
pop ax
add al, '0'
call WriteChar
loop popl
pop dx
pop bx
pop cx
pop ax
ret
WriteInteger endp
; вывод одного символа
WriteChar proc
push ax
push dx
mov dl, al
mov ah, 2
int 21h
pop dx
pop ax
ret
WriteChar endp
A dw 67
fl dw ?
res db 'res', 0dh,0ah,'$'
crlf db 0dh,0ah,'$'
end _start
aridtree большое спасибо!
Добавлено:
еще маленькая просьба есть.
Нужно реализовать ввод с клавиатуры и вывод массива состоящего из целых чисел, я сделал тока ввод и вывод одного целого числа. не знаю как сделать цикл, не подскажете как это сделать? да еще вначале необходимо вводить размерность массива а потом уже ввод элементов и их вывод
Код:
Код: .MODEL tiny
.CODE
org 100h
; ввод с клавиатуры целого числа и вывод его на экран
_start:
; ввод числа в регистр AX
call ReadInteger
mov A,ax
; перевод строки
mov ah,09h
lea dx,crlf
int 21h
; вывод заголовка
mov ah,09h
lea dx,res
int 21h
; вывод числа из AX
mov ax,A
call WriteInteger
ret
; ввод 10-числа в регистр AX
ReadInteger proc
push cx ; сохранение регистров
push bx
push dx
mov fl,0 ; флаг отрицательного числа
xor cx, cx
mov bx, 10
call ReadChar ; ввод первого символа
cmp al,'-' ; если минус - установить флаг
je nnn
jmp nn
nnn:
mov fl,1
read:
call ReadChar ; ввод очередного символа
nn: cmp al, 13 ; Enter ?
je done ; да - > завершение
sub al, '0' ; нет -> перевод цифры char -> int
xor ah, ah
xor dx, dx
xchg cx, ax
mul bx
add ax, cx
xchg ax, cx
jmp read
done:
xchg ax, cx
cmp fl,1
je eee
jmp ee
eee:
neg ax
ee:
pop dx
pop bx
pop cx
ret
ReadInteger endp
; ввод одного символа
ReadChar proc
mov ah,1
int 21h
ret
ReadChar endp
; вывод 10-числа
WriteInteger proc near
push ax
push cx
push bx
push dx
xor cx, cx
mov bx, 10
; число отрицательное?
cmp ax,0
jl ddd ; если - да
jmp divl ; если - нет
; вывести минус и поменять знак
ddd:
push ax
mov dl, '-'
mov ah, 2
int 21h
pop ax
neg ax
; получить 10-цифры и поместить их в стек,
; в cx - количество полученных цифр
divl:
xor dx, dx
idiv bx
push dx
inc cx
cmp ax,0
jg divl
; достать из стека, перевести в код ASSII и вывести
popl:
pop ax
add al, '0'
call WriteChar
loop popl
pop dx
pop bx
pop cx
pop ax
ret
WriteInteger endp
; вывод одного символа
WriteChar proc
push ax
push dx
mov dl, al
mov ah, 2
int 21h
pop dx
pop ax
ret
WriteChar endp
A dw 67
fl dw ?
res db 'res', 0dh,0ah,'$'
crlf db 0dh,0ah,'$'
end _start
Помогите, пожалуйста....
Нужно вычислить в цикле следующее выражение z=(x+6)*J/(13-Y) при J=1,2,..7 и записать результат в последовательные адреса памяти
Нужно вычислить в цикле следующее выражение z=(x+6)*J/(13-Y) при J=1,2,..7 и записать результат в последовательные адреса памяти
Задача: Вычисление обратной матрицы порядка 1000х1000.
Саму задачу можно реализовывать на любом языке, но основные алгоритмы должны быть на асм. Вообщем использовать можно асм вставки. Мучаюсь уже давно.
Саму задачу можно реализовывать на любом языке, но основные алгоритмы должны быть на асм. Вообщем использовать можно асм вставки. Мучаюсь уже давно.
Ickorka, если Z помешается в байт, и ответ целочисленный
Цитата:
molko
неясно, что ты хочешь...
но типо того видимо:
Цитата:
Цитата:
.model tiny
.stack 10h
.code
org 100h
start:
mov AX,CS
mov DS,AX
xor AH,AH
mov AL,X
add AL,6
mov BL,Y
neg BL
add BL,13
div BL
push AX ;;AX x+6/13-y
mov BL,1
aga:
xor BH,BH
imul BL
mov SI, BX
mov answer[SI],AX
pop AX
push AX
inc BL
cmp BL,7
jne aga
;; lea DI,answer ;;ответ здесь.
mov AX,4c00h
int 21h
X db 6
Y db 11
answer dw 7 dup (?) ;;на самом деле здесь.
end start
molko
неясно, что ты хочешь...
но типо того видимо:
Цитата:
xor SI,SI
call ReadInteger
read:
test AX,AX
jz doneit
dec AX
push AX
call ReadInteger
mov mas[SI*2],AX
pop AX
jmp read
doneit:
to aridtree. Спасибо вам за ответ. Только я не совсем разберу то, что вы написали. как-то мы не так эти програмки пишем. Я сама написала, только не могу найти ошибку...не работает она у меня..если не сложно , посмотрите, только для немного другого условия Z=(X+Y)*J J=1,2...5 :
DATAS SEGMENT ;
X DW 3
Y DW 6
J DW ?
I DW 0,0,0,0,0,0,0,0,0,0
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
PROGRAM:
MOV AX,DATAS
MOV DS,AX
MOV CX,10
MOV AX,0
JCXZ K
A: INC AX
LOOP A
MOV CX,5
MOV J,5
MOV BX,OFFSET I
B: MOV AX,X
ADD X,Y
MUL J
MOV [BX],AX
ADD BX,2
DEC J
MOV DX,J
CMP J,DX
LOOPZ B
JMP K
K:
mov I,ax
MOV AX,4C00H
INT 21H
CODES ENDS
END PROGRAM
DATAS SEGMENT ;
X DW 3
Y DW 6
J DW ?
I DW 0,0,0,0,0,0,0,0,0,0
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
PROGRAM:
MOV AX,DATAS
MOV DS,AX
MOV CX,10
MOV AX,0
JCXZ K
A: INC AX
LOOP A
MOV CX,5
MOV J,5
MOV BX,OFFSET I
B: MOV AX,X
ADD X,Y
MUL J
MOV [BX],AX
ADD BX,2
DEC J
MOV DX,J
CMP J,DX
LOOPZ B
JMP K
K:
mov I,ax
MOV AX,4C00H
INT 21H
CODES ENDS
END PROGRAM
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
Предыдущая тема: .NET GUI компоненты
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.