duvida em assembly

The Dealer

Power Member
Boas.

Vou ser o mais directo possivel. Precisava de um programa em assembly que mostrasse no ecra um triangulo, cuja cor e tamanho variasse conforme o utilizador decidisse.

Precisava disso para as proximas 12 horas para aplicar num trabalho, por isso se alguem estiver ja pronto a chamar.me lambao, preguiçoso e essas cenas, trabalho oito horas por dia para pagar propinas :)

Ninguem tem nada disso por ai?
 
Última edição:
Aqui não se fazem trabalhos, se quiseres mostrar o que já tens feito e esclarecer alguma dúvida que tenhas, diz. Mas não esperes que alguém te faça tudo.
 
ele não perguntou se alguém lhe podia fazer o trabalho. ele perguntou se alguém tinha algo do género já feito... são coisas diferentes... eu não posso ajudar porque não tenho nada do género, mas se tivesse ajudava! de qq maneira tou aqui se for preciso tirar dúvidas :)
 
Aqui não se fazem trabalhos, se quiseres mostrar o que já tens feito e esclarecer alguma dúvida que tenhas, diz. Mas não esperes que alguém te faça tudo.

eu tenho o "trabalho" praticamente feito. so q nao consigo fazer certas coisas, nomeadamente fazer com que peça ao utilizador o tamanho de h (altura), que por sua vez é igual a b (base), (é um triangulo isosceles). Eu só pedi sem por aqui nada (bocas maldosas) porque queria primeiro comparar antes de por aqui trapalhada, de qualquer das formas fica aqui o que ja fiz entretanto. O que já fiz, pede ao utilizador a cor, escolhe-se de 0 a 9, e desenha um triangulo de h=b=10.

Código:
org 100h

section .text

;------------------ COR
;; opcoes
mov ah, 40h
mov bx, 1
mov cx, 16
mov dx, msg
int 21h

;; int 16 - teclado
mov ah,10h
int 16h

mov byte[tecla], al
sub byte[tecla], 48

mov al, byte[tecla]
mov byte[cor], al

;------------------- Altura e Base
; opcoes
mov ah, 40h
mov bx, 1
mov cx, 26
mov dx, msg2
int 21h

mov ah, 3fh
mov bx, 0
mov cx, 3
mov dx, word[h]
int 21h

sub word[h], 48
;-------------------------------------


;mudar modo de video
mov ah, 00h
mov al, 13h; 320x200
int 10h

;mov word[h], 10
mov ax,word[colunas]
add word[h], ax

mov word[count], 59

mov word[colunas], 60
mov word[linhas] , 70

ciclo2:
    add word[count],1
    mov ax, word[count]
    mov word[colunas], ax

ciclo:

    mov ah, 0ch
    mov al, byte[tecla]
    mov bh, 0 ; pagina zero
    mov cx, [colunas]
    mov dx, [linhas]
    int 10h


    add word[colunas],1

    cmp word[colunas],70
    jne     ciclo

    add word[linhas],1
    cmp word[linhas], 80
    jne ciclo2



;fica a espera que se carregue numa tecla
mov ah, 07h
int 21h

; volta ao modo de texto (normal)
mov ah, 00h
mov al, 03h
int 10h

; retorno ao SO
mov ah, 4ch
int 21h

section .data
msg db 'Escolha a cor:', 0ah, 0dh
msg2 db 'Escolha a altura e base:', 0ah,0dh

section .bss
colunas resw 1
linhas resw 1
h resw 1
count resw 1
tecla resb 1
cor resb 1
 
Última edição:
Back
Topo