Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker
Analizziamo nel dettaglio DJI RS 5, l'ultimo arrivato della famiglia Ronin progettato per videomaker solisti e piccoli studi. Tra tracciamento intelligente migliorato e ricarica ultra rapida, scopriamo come questo gimbal eleva la qualità delle produzioni.
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming
AMD Ryzen 7 9850X3D è la nuova CPU gaming di riferimento grazie alla 3D V-Cache di seconda generazione e frequenze fino a 5,6 GHz. Nei test offre prestazioni superiori a 9800X3D e 7800X3D, confermando la leadership AMD nel gaming su PC.
Le soluzioni FSP per il 2026: potenza e IA al centro
Le soluzioni FSP per il 2026: potenza e IA al centro
In occasione del Tech Tour 2025 della European Hardware Association abbiamo incontrato a Taiwan FSP, azienda impegnata nella produzione di alimentatori, chassis e soluzioni di raffreddamento tanto per clienti OEM come a proprio marchio. Potenze sempre più elevate negli alimentatori per far fronte alle necessità delle elaborazioni di intelligenza artificiale.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-07-2004, 09:12   #1
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
[Asm]Disassemblare

Perche un .exe in asm con questo sorgente:
Codice:
;Beep.asm - by b0nu$, 1997

.286c
.MODEL  SMALL

INTERRUPT_NUM   EQU             9	;Interrupt da intercettare

                .CODE
                ORG             100H
FIRST:          JMP             LOAD_PROG	;Carico in memoria il prg.
                OLD_KEYBOARD_INT DD     ?	;Memorizza l'indirizzo al 
                 				;vecchio vettore di int.
                
PROG            PROC
                pusha		;salvo i registri

                pushf
                call OLD_KEYBOARD_INT	;chiamo la vecchia routine di int.

;QUI CI VA IL PROGRAMMA: In questo esempio ho deciso di emettere un BEEP ma
;si può fare qualunque cosa. Tranne che chiamare un interrupt del DOS!!
;--------------------------------------------------------------------------
	in	al,61h	;Per il BEEP programmo il Timer
	test	al,3
	jne 	skippa		
	or	al,3
	out	61h,al
	mov	al,0B6h
	out	43h,al
	
skippa:	mov	al,06h	;frequenza LSB
	out	42h,al
	mov	al,01h	;frequenza MSB
	out	42h,al
	
	mov	cx,0FFFFh
wait_loop:
	loop	wait_loop	;ciclo di attesa
	
	in	al,61h	;silenzio
	and 	al,0FCh
	out	061h,al
;--------------------------------------------------------------------------
		
EXIT:          
                popa                
                iret
PROG            ENDP

LOAD_PROG       PROC		;Procedura che carica in memoria il prg.
                mov     ah,35h                
                mov     al,INTERRUPT_NUM
                int     21h		;Prelevo il vecchio vettore 
                mov     WORD PTR OLD_KEYBOARD_INT,bx
                mov     WORD PTR OLD_KEYBOARD_INT[2],es
		
                mov	al,INTERRUPT_NUM
                mov     ah,25h
                lea     dx,PROG
                int     21h		;Imposto quello nuovo
		
                mov     dx,OFFSET LOAD_PROG   ;in DX ci va l'ultimo byte del
					      ;prg. + 1
                int     27h		;Termina ma rimani in memoria
LOAD_PROG       ENDP
                END     FIRST
viene disassemblato cosi:
Codice:
 
seg000:0100 ;
seg000:0100 ; +-------------------------------------------------------------------------+
seg000:0100 ; ¦     This file is generated by The Interactive Disassembler (IDA)        ¦
seg000:0100 ; ¦     Copyright (c) 2001 by DataRescue sa/nv, <[email protected]>        ¦
seg000:0100 ; ¦              Licensed to: Roger Cross, 1 user, std, 7/2000              ¦
seg000:0100 ; +-------------------------------------------------------------------------+
seg000:0100 ;
seg000:0100 ; File Name   : C:\Documents and Settings\Luca\Desktop\Nuova cartella\BEEP.COM
seg000:0100 ; Format      : MS-DOS COM-file
seg000:0100 ; Base Address: 1000h Range: 10100h-1014Fh Loaded length: 4Fh
seg000:0100 
seg000:0100 
seg000:0100 ; ---------------------------------------------------------------------------
seg000:0100 
seg000:0100 seg000          segment byte public 'CODE'
seg000:0100                 assume cs:seg000
seg000:0100                 org 100h
seg000:0100                 assume es:nothing, ss:nothing, ds:seg000
seg000:0100 
seg000:0100 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
seg000:0100 
seg000:0100 
seg000:0100                 public start
seg000:0100 start           proc near
seg000:0100                 jmp     short loc_0_131
seg000:0100 ; ---------------------------------------------------------------------------
seg000:0102                 db  90h ; É
seg000:0103 word_0_103      dw 0                    ; DATA XREF: start+37.w
seg000:0105 word_0_105      dw 0                    ; DATA XREF: start+3C.w
seg000:0107                 db  60h ; `
seg000:0108                 db  9Ch ; £
seg000:0109                 db  2Eh ; .
seg000:010A                 db 0FFh ;  
seg000:010B                 db  1Eh ;  
seg000:010C                 db    3 ;  
seg000:010D                 db    1 ;  
seg000:010E                 db 0E4h ; õ
seg000:010F                 db  61h ; a
seg000:0110                 db 0A8h ; ¿
seg000:0111                 db    3 ;  
seg000:0112                 db  75h ; u
seg000:0113                 db    8 ;  
seg000:0114                 db  0Ch ;  
seg000:0115                 db    3 ;  
seg000:0116                 db 0E6h ; µ
seg000:0117                 db  61h ; a
seg000:0118                 db 0B0h ; ¦
seg000:0119                 db 0B6h ; Â
seg000:011A                 db 0E6h ; µ
seg000:011B                 db  43h ; C
seg000:011C                 db 0B0h ; ¦
seg000:011D                 db    6 ;  
seg000:011E                 db 0E6h ; µ
seg000:011F                 db  42h ; B
seg000:0120                 db 0B0h ; ¦
seg000:0121                 db    1 ;  
seg000:0122                 db 0E6h ; µ
seg000:0123                 db  42h ; B
seg000:0124                 db 0B9h ; ¦
seg000:0125                 db 0FFh ;  
seg000:0126                 db 0FFh ;  
seg000:0127                 db 0E2h ; Ô
seg000:0128                 db 0FEh ; ¦
seg000:0129                 db 0E4h ; õ
seg000:012A                 db  61h ; a
seg000:012B                 db  24h ; $
seg000:012C                 db 0FCh ; ³
seg000:012D                 db 0E6h ; µ
seg000:012E                 db  61h ; a
seg000:012F                 db  61h ; a
seg000:0130                 db 0CFh ; ¤
seg000:0131 ; ---------------------------------------------------------------------------
seg000:0131 
seg000:0131 loc_0_131:                              ; CODE XREF: start.j
seg000:0131                 mov     ah, 35h
seg000:0133                 mov     al, 9
seg000:0135                 int     21h             ; DOS - 2+ - GET INTERRUPT VECTOR
seg000:0135                                         ; AL = interrupt number
seg000:0135                                         ; Return: ES:BX = value of interrupt vector
seg000:0137                 mov     cs:word_0_103, bx
seg000:013C                 mov     cs:word_0_105, es
seg000:0141                 mov     al, 9
seg000:0143                 mov     ah, 25h
seg000:0145                 mov     dx, 107h
seg000:0148                 int     21h             ; DOS - SET INTERRUPT VECTOR
seg000:0148                                         ; AL = interrupt number
seg000:0148                                         ; DS:DX = new vector to be used for specified interrupt
seg000:014A                 mov     dx, 131h
seg000:014D                 int     27h             ; DOS - TERMINATE BUT STAY RESIDENT
seg000:014D start           endp                    ; CS = current program segment
seg000:014D                                         ; DX = last program byte + 1
seg000:014D seg000          ends
seg000:014D 
seg000:014D 
seg000:014D                 end start
Non vedo alcune parti del cod ...


P.S: ma Ida aggiunge i commenti da solo?
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequen...
Le soluzioni FSP per il 2026: potenza e IA al centro Le soluzioni FSP per il 2026: potenza e IA al ce...
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa AWS annuncia European Sovereign Cloud, il cloud ...
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
Autostrade che 'pensano': l'AI arriva su...
AMD alza l'asticella: Zen 6 è la ...
Il satellite spia russo Olymp-1 si &egra...
Rocket Lab prosegue l'assemblaggio del n...
Il Wet Dress Rehearsal della missione Ar...
31,4 Tbps: Aisuru sfonda il suo stesso r...
Giocattoli AI, una falla espone oltre 50...
OPPO Reno15 in viaggio con Gaia Gozzi: i...
Nuove revisioni per Abarth 600e: arrivan...
Intelligenza artificiale, re-training e ...
LG presenta a ISE 2026 la nuova serie di...
Alienware: disponibile in Italia il nuov...
Arrivano le bodycam sui treni di Ferrovi...
Nike taglia 775 posti negli USA: l'autom...
Crimson Desert si mostra in un nuovo gam...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:55.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v