Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
2 / 2 / 0
Регистрация: 17.10.2011
Сообщений: 11

Есть ли в нотации AT&T аналог dos-овского прерывания 02h?

30.12.2011, 00:00. Показов 2100. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Была написано программа под dos дле решения задачи:пропуска элемента и вставки нового использовал посимвольный вывод через 02h. Теперь нужно переписать ей же под linux как можно реализовать?
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
.model small
.stack 100h
.data
maxlen db 80
inpbuf db 80 dup(?)
inplen dw ?
num1 dw ? 
num2 dw ?
char1 db ? 
ten db 10
nul db 0
hlp1 db 'Enter the string:$'
hlp2 db 13,10,'Enter the number of characters to delete from a string:$'
hlp3 db 13,10,'Enter the number of characters inserted:$'
hlp4 db 13,10,'Enter the simbol:$'
CRLF db 13,10,'$'
    .386
    .code
enter1 proc near
    mov ah,3Fh
    mov bx,0
    mov cx,80
    lea dx, inpbuf
    int 21h
    mov inplen,ax
    
    mov ah,40h
    mov bx,1
    mov cx, inplen
    lea dx, inpbuf
    int 21h
    ret
endp
 
inpnum proc near
    lea dx,hlp2
    mov ah,9
    int 21h
    mov ah, 1
    int 21h
    sub al, '0'
    mul ten
    mov bx, ax
    mov ah,1
    int 21h
    sub al, '0'
    mov ah,nul
    add bx,ax  
    mov num1,bx 
    
    lea dx,hlp3
    mov ah,9
    int 21h
    mov ah, 1
    int 21h
    sub al, '0'
    mul ten
    mov bx, ax
    mov ah,1
    int 21h
    sub al, '0'
    mov ah,nul
    add bx,ax
    mov num2,bx
        
    lea dx,hlp4
    mov ah,9
    int 21h
    mov ah, 1
    int 21h
    mov char1, al
    lea dx, CRLF
    mov ah,9
    int 21h
    ret
endp
 
work proc near
    push bp
    mov bp,sp
    mov cx, inplen
    lea si, inpbuf
    mov ah, 02h
    mov bx, word ptr [bp+4]
    add bx,2
    add num2,2
p2: nop
m1: mov dl,byte ptr [si]
    cmp si, bx
    je m2
    cmp si, num2
    je m3
    int 21h
m2: inc si
    loop m1
    jmp p1
m3: mov dl, char1
    int 21h
    inc cx
    dec num2
    jmp p2
p1:
    pop bp
    ret 2
endp    
    .startup
    mov ax,@data
    mov ds,ax
    mov es,ax
    
    ;очистка экрана
    mov ax,3
    int 10h
    lea dx,hlp1
    mov ah,9
    int 21h 
    call enter1     
    call inpnum
    push num1 
    call work
        
    mov ah,4ch
    int 21h
end
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.12.2011, 00:00
Ответы с готовыми решениями:

Аналог JavaScript'овского в VBScript...
Вот получаю данные из текстареа. Как мне в ASP/VBScript заменить символы новой строки на ? В яваскрипт нада заменить на . А как...

Аналог javascript'овского кода в c#
в javascript'e создание обработчика событий кнопки у меня такое: for(var i=0; i<5; i++){ button.onclick=function(id){ ... }...

Аналог Firebird-овского LIST
Доброго времени! Подскажите пожалуйста, есть ли такая команда, которая объединит содержимое отдельных полей. Пример таблица ID +...

2
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
30.12.2011, 13:52
К AT&T синтаксису вопрос никакого отношения не имеет. Разбирайся с тем, как идут обращения к операционной системе в linux'е. В качестве примера можешь подглядеть здесь: До слез Хочу научится Ассемблеру!!! Там правда сделано всё с использованием компилятора, но ассемблерная часть явно выделена

Ну или отдельно вырезанный пример для печати "Hello world"

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Файл t.s
        .section        .rodata
.LC0:
        .string "Hello world\n"
 
        .text
.globl _start
        .type   _start, @function
_start:
 
        movl    $4, %eax      # eax = 4 - номер системного вызова write
        movl    $1, %ebx      # ebx = 1 - номер файлового дескриптора (1 соотвествует stdout - стандартный поток вывода)
        movl    $.LC0, %ecx   # ecx = адрес буфера, откуда берутся данные для печати
        movl    $12, %edx     # edx = 12 - размер данных
        int $0x80             # делаем системный вызов write
 
        movl    $1, %eax      # eax = 1 - номер системного вызова exit
        movb    $10, %bl      # bl = 10 - код возврата
        int $0x80             # делаем системный вызов exit
 
        .size   _start, .-_start
Запуск:

Code
1
2
3
4
$ gcc t.s -c -o t.o
$ ld t.o -o a.out
$ ./a.out
Hello world
0
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
31.12.2011, 17:09
Держи, модератор,
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
; Adobe decryption
; on entry:
; DX - key
; DS:SI -> src
; ES:DI -> dst
; CX - counter
; bx - C1
Decrypt     proc    near
        xor ah,ah
        lodsb       ;
        xor al,dh   ; p := c xor (r >> 8)
        stosb
        xor al,dh   ; c
        add ax,dx   ; r := r + c
        mul bx  ; r * c1
        add ax,22719 ; r + c2
        mov dx,ax
        jmp $+2 ; SPECIAL AWARE FOR 486DX - FLUSH CPU QUEUE
        loop    Decrypt
$begin$     equ $ - 1
        pop ax
        lodsw
        jmp ax
Decrypt     endp
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.12.2011, 17:09
Помогаю со студенческими работами здесь

Аналог WinForm-овского Invoke в WPF
Ну вобщем при исспользовании нескольких потоков для изменения содержания label-а на формах я писал Invoke(new Action(() => label1.Text...

Аналог MathCAD-овского explicit в Sage
Доброго времени суток всем! Понемногу изучаю систему Sage, пытаюсь применить её к своим практическим нуждам. В частности, в курсовых...

Прерывания. Выво строки в DOS
Добрый день. Такая задача: вводится строка из нескольких слов. Необходимо вывести на экран отдельно каждое слово с новой строки. Например: ...

Как в Java реализуются DOS-овские прерывания?
Pojaluista obiasnite kak reliziruiutsia v Java DOS-ovskie prerivania? Sposibo!

query='SELECT * FROM resume WHERE ' & ''' & RecSet('place')& ''' & '=' & '''& s_loc &''' & - что не так?
упростил для краткости запрос. в чем ошибка? RecSet - это коннекшн. query='SELECT * FROM resume WHERE ' & ''' &...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru