Ввод символов с клавиатуры - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5
Похожие ответы