Soyez le premier à donner votre avis sur cette source.
Snippet vu 8 825 fois - Téléchargée 18 fois
code segment assume cs:code; ds:code org 256 debut: jmp start mov ax,cs mov ds,ax mov si,offset cram mov cx,112 ; taille mémoire cmos moins les 16 premiers octets (real time clock etc) mov bl,10h ici: mov al,bl out 70h,al nop nop nop lodsb out 71h,al inc bl loop ici mov ax,4c00h int 21h cram db 112 dup(?) ;fin oui db 0 usage db " usage: scmos nomfichier" db 10,13,'$' usage2 db "nonfichier eventuellement précédé du chemin,mais sans extension, " db 10,13,'$' er_s db " Erreur syntaxe ligne de commande$" er_exist db "Ce fichier existe deja$" er_ecriture db " Erreur d'ecriture$ " er_create db "Impossible de creer le fichier$" nom db 32 dup (?) path db 32 dup (?) com db '.com',0 start: ; lecture de ram cmos dans cram mov di,offset cram mov cx,112 ; taille mémoire cmos moins les 16 premiers octets (real time clock etc) mov bl,10h boucle: mov al,bl out 70h,al nop nop nop in al,71h stosb inc bl loop boucle ; extraction du nom dans la ligne de commande mov si,80h lodsb cmp al,2 ja dofile mov dx,offset usage mov ah,9 int 21h mov dx,offset usage2 mov ah,9 int 21h jmp exit syntaxe:mov dx,offset er_s jmp erreur dofile: mov di,offset nom nom0: lodsb cmp al,' ' jz nom0 stosb nom1: ; on ajoute l'extension ".com",0 lodsb cmp al, 13 jz nomdone cmp al,' ' jz nomdone cmp al,'.' jz syntaxe stosb jmp nom1 nomdone: mov si, offset com mov cx,5 l: movsb loop l xor al,al stosb fini: ; on remplace jmp start par 3 nop mov al,90h mov di,offset debut stosb mov ah,90h stosw mov ah,3dh ; open file mov al,3 mov dx, offset nom int 21h jc create mov dx,offset er_exist jmp erreur create: mov ah,3ch int 21h jnc ecriture mov dx,offset er_create jmp erreur ecriture: push ax mov bx,ax mov dx,offset debut mov cx,offset oui sub cx,dx mov ah ,40h ;write int 21h mov dx,offset er_ecriture jc erreur pop bx mov ah,3eh ; close int 21h exit: mov ax,4c00h int 21h erreur: mov ah,9 int 21h jmp exit code ends end debut
le dessablemblage d'un programme constructeur pour flasher le bios doit apporter la solution.
ToutEnMasm
Et que dire à propos du ESCD?
Amicalement
les cmos peuvent aller jusqu'a une taille de 1024 depuis au moins 2 ou 3 ans il me semble.
@++
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.