Ввод символов с клавиатуры - Assembler
Формулировка задачи:
Добрый день,
Помогите пожалуйсто реализовать ввод елементов массива с клавиатуры
Заранее спасибо
Вот код програмы:
Листинг программы
- org 100h
- jmp start
- array db '2 61 25 34 45 11 15 1','$'
- len = ($ - array)-1 ;
- fName db 'data.txt',0 ; имя файла
- start: ;
- mov ah,9 ; покажем массив на экране
- mov dx,array ;
- int 21h ;
- mov ah,3Ch ; создать файл!
- mov dx,fName ;
- mov cx,20h ;
- int 21h ;
- xchg ax,bx ;
- mov ah,40h ; запись в файл!
- mov cx,len ;
- mov dx,array ;
- int 21h ;
- mov ah,3Eh ; закрыть файл!
- int 21h ;
- ;---------------------------------------------------------------------—
- mov cx,len ; сортировка массива —-----------------//
- dec cx ;
- mov si,array ;
- mov di,si ;
- sort: push cx di si ;
- xor bx,bx ; флаг перестановок
- fuck: lodsw ;
- cmp ah,al ;
- jae @@1 ;
- inc bx ;
- xchg ah,al ;
- @@1: stosw ;
- dec si ;
- dec di ;
- loop fuck ;
- pop si di cx ;
- or bx,bx ; перестановки были?
- jnz sort ;
- ;---------------------------------------------------------------------—
- mov al,10 ; выводим отсортированный массив на экран
- int 29h ;
- mov ah,9 ;
- mov dx,array ;
- int 21h ;
- exit:
- xor ax,ax ;
- int 16h ;
- int 20h ;
Решение задачи: «Ввод символов с клавиатуры»
textual
Листинг программы
- model tiny
- .code
- szArray equ 25
- org 100h
- start: lea si,dwArray
- mov di,10
- mov cx,szArray
- @@01: call InpNum
- mov [si],bx
- add si,2
- loop @@01
- ret
- dwArray dw szArray dup(?)
- dbInp db 10,13,'Enter A['
- dwNum dw '00'
- db ']:=$'
- InpNum: mov ax,dwNum
- and ax,0F0Fh
- xchg ah,al
- aad 16
- inc ax
- aam 16
- xchg ah,al
- or ax,'00'
- cmp ah,'9'
- jbe @@0
- inc al
- mov ah,'0'
- @@0: mov dwNum,ax
- mov ah,9
- lea dx,dbInp
- int 21h
- xor bx,bx
- @@1: xor ax,ax
- int 16h
- cmp al,13
- jz @@2
- cmp al,'0'
- jb @@1
- cmp al,'9'
- ja @@1
- int 29h
- and ax,0fh
- xchg ax,bx
- xor dx,dx
- mul di
- add bx,ax
- jmp @@1
- @@2: ret
- end start
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д