Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
Con Midnight, Blizzard tenta il colpaccio: il player housing sbarca finalmente su Azeroth insieme a una Quel'Thalas ricostruita da zero. Tra il dramma della famiglia Ventolesto e il nuovo Prey System, ecco com'è la nuova espansione di World of Warcraft
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 05-12-2010, 15:45   #1
psico88
Senior Member
 
L'Avatar di psico88
 
Iscritto dal: Feb 2006
Messaggi: 343
[C + Assembly] Null pointer assignment

Mi rendo conto che sto chiedendo cose davvero "vecchie", però mi fanno fare quello all'università quindi ci provo lo stesso. Allora per farla breve:

devo fare una procedura in Assembly che sia richiamabile da un programma C. Questa procedura deve contare i giorni a partire dal 01/01/2000 fino alla data passata come parametro, e restituirli come valore di ritorno. Io ho fatto tutto ma il problema è che quando faccio partire l'eseguibile, alla fine del programma mi scrive "Null pointer assignment". Il codice Assembly è questo (tagliando le parte dell'algoritmo che è corretto):

Codice:
             
DEFAULT_YEAR    EQU 2000
DEFAULT_MONTH   EQU 1
DEFAULT_DAY     EQU 1
DAYS_PER_YEAR   EQU 365

        PUBLIC _countdays
       .MODEL small
       .STACK
       .DATA
       
DAYS_PER_MONTH  DB 31,28,31,30,31,30,31,31,30,31,30,31
DAY             DB ?
MONTH           DB ?
YEAR            DW ? 
TOTAL_DAYS DW ?

       .CODE

_countdays PROC NEAR
    PUSH BP 
    MOV BP, SP
    PUSH SI
    ; ...
    ; lettura parametro e calcolo giorni
    ; ...
    MOV AX, TOTAL_DAYS ; valore di ritorno
    POP SI  
    POP BP
    RET
_countdays ENDP

       END
quindi dovrebbe essere a posto. Il programma C è questo:

Codice:
#include <stdio.h>
#include <stdlib.h>

/* Assembly procedure */
extern unsigned int countdays (char *date) ;

int main (void)
{
char date[10+1];
unsigned int total_days;

/* Code to set the italian keyboard, for Windows Vista and Windows 7 */
system("kb16 it");
/* Read the date */
printf ("Insert the date (dd/mm/yyyy): ");
scanf ("%s", date);
/* The date is assumed to be correct, so count days with the assembly procedure */
total_days = countdays (date) ;
/* Print the number of days */
printf ("\nTotal days from 01/01/2000 to %s: %u\n\n", date, total_days);
system("pause");

return 0;
}
e anche qua non mi sembra ci siano errori... poi non uso puntatori, quindi non capisco perchè mi scriva "Null pointer assignment". I programmi usati sono: MASM 6.1 per compilare la parte Assembly, TURBOC 2.1 per compilare la parte C e linkare i due file obj e creare l'eseguibile. Mi rendo conto che siano cose "ancestrali", però se qualcuno sapesse come posso risolvere la cosa ne sarei grato... nel programma C ho provato a commentare tutto il codice dentro il main, ma l'errore lo fa comunque

Screen errore:

__________________
Portatile Asus ROG Strix GL502VSK - Core i7-7700HQ @ 2.8GHz (Turbo 3.8GHz) - 16Gb RAM DDR4-2400 (2x8Gb) - Nvidia GeForce GTX 1070 8Gb - Schermo 120Hz G-SYNC - SSD Samsung 960 PRO NVMe 512Gb - HDD 7200RPM 1Tb
"Defeat is not the worst of failures. Not to have tried is the true failure."
psico88 è offline   Rispondi citando il messaggio o parte di esso
Old 05-12-2010, 16:57   #2
rеpne scasb
Senior Member
 
Iscritto dal: May 2008
Messaggi: 533

Ultima modifica di rеpne scasb : 18-06-2012 alle 16:13. Motivo: Chiarimento su compilatore C
rеpne scasb è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Offerte LEGO Amazon: Formula 1, Harry Po...
Il Motorola Edge 70 Pro sta arrivando e ...
Amazon pronta a sfidare NVIDIA? La lette...
L'IA ridurrà drasticamente il lav...
Il primo pieghevole di Apple sta arrivan...
Altera estende il supporto ufficiale per...
GPU NVIDIA e connettori che si sciolgono...
Gli smartphone Samsung ed Apple sono i p...
PC più cari in arrivo: il boom de...
Tesla potrebbe realizzare un SUV elettri...
Secondo Elon Musk FSD è più...
Anche Cloudflare fissa il 2029 per la si...
Hacker sfruttano da mesi un bug segreto ...
ASUSTOR Lockerstor 24R Pro Gen2: 24 bay ...
Rigetti supera la soglia dei 100 qubit: ...
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:39.


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