assembly x8086 undefined reference to 'pause'












0















I'm trying to assemble a simple file and then i want to stop the video to see what I've done. The code is:



*.GLOBAL _main
.DATA
stringa: .ASCIZ "Questa e' la stringaaa"
lettera: .BYTE 'e'
conteggio: .BYTE 0x00
.TEXT
_main: NOP
MOV $0x00, %CL
LEA stringa, %ESI
MOV lettera, %AL
comp: CMPB $0x00, (%ESI)
JE fine
CMP (%ESI), %AL
JNE poi
INC %CL
poi: INC %ESI
JMP comp
fine: MOV %CL, conteggio
CALL pause
RET*


when I try to assemble in the cmd using the command:
gcc -o file file.s
I get the state:



C:UsersUser nameAppDataLocalTempccegNf7o.o:fake:(.text+0x23): 
undefined reference to `pause'
collect2.exe: error: ld returned 1 exit status


It seems simple but I tried so hard and still don't succeed.










share|improve this question




















  • 1





    pause is not a function you can't call it. Try call getchar instead.

    – Jester
    Nov 14 '18 at 12:43











  • Set a breakpoint on the ret in a debugger, or run your program from inside an already-existing terminal window, if you can't configure a terminal to stay open after running your program.

    – Peter Cordes
    Nov 14 '18 at 12:44











  • I tried and it's the same, instead of 'pause' there's 'getchar'

    – mordecai
    Nov 14 '18 at 12:45






  • 1





    Actually use _getchar as your environment apparently uses leading underscore on functions. (Also let me correct myself: pause is a function at least per POSIX, but it's probably not what you were looking for.)

    – Jester
    Nov 14 '18 at 12:49













  • That worked, thanks a lot!

    – mordecai
    Nov 14 '18 at 12:51
















0















I'm trying to assemble a simple file and then i want to stop the video to see what I've done. The code is:



*.GLOBAL _main
.DATA
stringa: .ASCIZ "Questa e' la stringaaa"
lettera: .BYTE 'e'
conteggio: .BYTE 0x00
.TEXT
_main: NOP
MOV $0x00, %CL
LEA stringa, %ESI
MOV lettera, %AL
comp: CMPB $0x00, (%ESI)
JE fine
CMP (%ESI), %AL
JNE poi
INC %CL
poi: INC %ESI
JMP comp
fine: MOV %CL, conteggio
CALL pause
RET*


when I try to assemble in the cmd using the command:
gcc -o file file.s
I get the state:



C:UsersUser nameAppDataLocalTempccegNf7o.o:fake:(.text+0x23): 
undefined reference to `pause'
collect2.exe: error: ld returned 1 exit status


It seems simple but I tried so hard and still don't succeed.










share|improve this question




















  • 1





    pause is not a function you can't call it. Try call getchar instead.

    – Jester
    Nov 14 '18 at 12:43











  • Set a breakpoint on the ret in a debugger, or run your program from inside an already-existing terminal window, if you can't configure a terminal to stay open after running your program.

    – Peter Cordes
    Nov 14 '18 at 12:44











  • I tried and it's the same, instead of 'pause' there's 'getchar'

    – mordecai
    Nov 14 '18 at 12:45






  • 1





    Actually use _getchar as your environment apparently uses leading underscore on functions. (Also let me correct myself: pause is a function at least per POSIX, but it's probably not what you were looking for.)

    – Jester
    Nov 14 '18 at 12:49













  • That worked, thanks a lot!

    – mordecai
    Nov 14 '18 at 12:51














0












0








0








I'm trying to assemble a simple file and then i want to stop the video to see what I've done. The code is:



*.GLOBAL _main
.DATA
stringa: .ASCIZ "Questa e' la stringaaa"
lettera: .BYTE 'e'
conteggio: .BYTE 0x00
.TEXT
_main: NOP
MOV $0x00, %CL
LEA stringa, %ESI
MOV lettera, %AL
comp: CMPB $0x00, (%ESI)
JE fine
CMP (%ESI), %AL
JNE poi
INC %CL
poi: INC %ESI
JMP comp
fine: MOV %CL, conteggio
CALL pause
RET*


when I try to assemble in the cmd using the command:
gcc -o file file.s
I get the state:



C:UsersUser nameAppDataLocalTempccegNf7o.o:fake:(.text+0x23): 
undefined reference to `pause'
collect2.exe: error: ld returned 1 exit status


It seems simple but I tried so hard and still don't succeed.










share|improve this question
















I'm trying to assemble a simple file and then i want to stop the video to see what I've done. The code is:



*.GLOBAL _main
.DATA
stringa: .ASCIZ "Questa e' la stringaaa"
lettera: .BYTE 'e'
conteggio: .BYTE 0x00
.TEXT
_main: NOP
MOV $0x00, %CL
LEA stringa, %ESI
MOV lettera, %AL
comp: CMPB $0x00, (%ESI)
JE fine
CMP (%ESI), %AL
JNE poi
INC %CL
poi: INC %ESI
JMP comp
fine: MOV %CL, conteggio
CALL pause
RET*


when I try to assemble in the cmd using the command:
gcc -o file file.s
I get the state:



C:UsersUser nameAppDataLocalTempccegNf7o.o:fake:(.text+0x23): 
undefined reference to `pause'
collect2.exe: error: ld returned 1 exit status


It seems simple but I tried so hard and still don't succeed.







assembly x86-16 gas






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 14 '18 at 12:38







mordecai

















asked Nov 14 '18 at 12:32









mordecaimordecai

12




12








  • 1





    pause is not a function you can't call it. Try call getchar instead.

    – Jester
    Nov 14 '18 at 12:43











  • Set a breakpoint on the ret in a debugger, or run your program from inside an already-existing terminal window, if you can't configure a terminal to stay open after running your program.

    – Peter Cordes
    Nov 14 '18 at 12:44











  • I tried and it's the same, instead of 'pause' there's 'getchar'

    – mordecai
    Nov 14 '18 at 12:45






  • 1





    Actually use _getchar as your environment apparently uses leading underscore on functions. (Also let me correct myself: pause is a function at least per POSIX, but it's probably not what you were looking for.)

    – Jester
    Nov 14 '18 at 12:49













  • That worked, thanks a lot!

    – mordecai
    Nov 14 '18 at 12:51














  • 1





    pause is not a function you can't call it. Try call getchar instead.

    – Jester
    Nov 14 '18 at 12:43











  • Set a breakpoint on the ret in a debugger, or run your program from inside an already-existing terminal window, if you can't configure a terminal to stay open after running your program.

    – Peter Cordes
    Nov 14 '18 at 12:44











  • I tried and it's the same, instead of 'pause' there's 'getchar'

    – mordecai
    Nov 14 '18 at 12:45






  • 1





    Actually use _getchar as your environment apparently uses leading underscore on functions. (Also let me correct myself: pause is a function at least per POSIX, but it's probably not what you were looking for.)

    – Jester
    Nov 14 '18 at 12:49













  • That worked, thanks a lot!

    – mordecai
    Nov 14 '18 at 12:51








1




1





pause is not a function you can't call it. Try call getchar instead.

– Jester
Nov 14 '18 at 12:43





pause is not a function you can't call it. Try call getchar instead.

– Jester
Nov 14 '18 at 12:43













Set a breakpoint on the ret in a debugger, or run your program from inside an already-existing terminal window, if you can't configure a terminal to stay open after running your program.

– Peter Cordes
Nov 14 '18 at 12:44





Set a breakpoint on the ret in a debugger, or run your program from inside an already-existing terminal window, if you can't configure a terminal to stay open after running your program.

– Peter Cordes
Nov 14 '18 at 12:44













I tried and it's the same, instead of 'pause' there's 'getchar'

– mordecai
Nov 14 '18 at 12:45





I tried and it's the same, instead of 'pause' there's 'getchar'

– mordecai
Nov 14 '18 at 12:45




1




1





Actually use _getchar as your environment apparently uses leading underscore on functions. (Also let me correct myself: pause is a function at least per POSIX, but it's probably not what you were looking for.)

– Jester
Nov 14 '18 at 12:49







Actually use _getchar as your environment apparently uses leading underscore on functions. (Also let me correct myself: pause is a function at least per POSIX, but it's probably not what you were looking for.)

– Jester
Nov 14 '18 at 12:49















That worked, thanks a lot!

– mordecai
Nov 14 '18 at 12:51





That worked, thanks a lot!

– mordecai
Nov 14 '18 at 12:51












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53300332%2fassembly-x8086-undefined-reference-to-pause%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53300332%2fassembly-x8086-undefined-reference-to-pause%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Xamarin.iOS Cant Deploy on Iphone

Glorious Revolution

Dulmage-Mendelsohn matrix decomposition in Python