From owner-freebsd-questions@freebsd.org Thu Jan 3 18:11:25 2019 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C6C3D14323EB for ; Thu, 3 Jan 2019 18:11:24 +0000 (UTC) (envelope-from rcarter@pinyon.org) Received: from h2.pinyon.org (h2.pinyon.org [65.101.20.170]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B8E5887FD9 for ; Thu, 3 Jan 2019 18:11:23 +0000 (UTC) (envelope-from rcarter@pinyon.org) Received: by h2.pinyon.org (Postfix, from userid 58) id 98E4FF6E7; Thu, 3 Jan 2019 11:11:14 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pinyon.org; s=DKIM; t=1546539074; bh=ofzDAc4dieOlrZCH9bA3NYv7mZ/IRdxyX4co86ty1GU=; h=Subject:To:References:From:Date:In-Reply-To; b=gn4Op2NwYQjC5Yhds50coLTdEzMiRMoBVsKXp59Lr7hAwZ6vlmruShyam/yKzgRbU KeP/0MUQUt2aOQoj3HBlecOkpaZojmsg4DugVM7F8rN+M4gVWag87LX3Io94KBpfS+ z1X2/BiYeLd8PP2JCdSVCUejRVuBoPYeKSx5+b4U= X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on h2.n1.pinyon.org X-Spam-Level: X-Spam-Status: No, score=-3.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,URIBL_BLOCKED shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from [10.0.10.15] (h1.pinyon.org [65.101.20.169]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by h2.pinyon.org (Postfix) with ESMTPSA id 2FDC1F6DE for ; Thu, 3 Jan 2019 11:11:13 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pinyon.org; s=DKIM; t=1546539073; bh=ofzDAc4dieOlrZCH9bA3NYv7mZ/IRdxyX4co86ty1GU=; h=Subject:To:References:From:Date:In-Reply-To; b=MKuauf7Gp+y05XbQtBy1djiNnFY9R7wSUUaQqvXo0coAvj/gVJ1ID7XsMbu/CL1uV ghep+zXH1FeoErZrbZx8HjGvtGTJFEDk+e+N/kVj0Hs5M7LEjMJPE4y6F7fSwcAT8C 3wU4vKNVz80jJYj4og36u/VgF8kcqI9Fp02gBo0M= Subject: Re: any tutorials for x86-64 assembly under freebsd? To: freebsd-questions@freebsd.org References: <201812261246.wBQCkdrj005579@sdf.org> From: "Russell L. Carter" Message-ID: <90a9cc24-93e6-7ba4-d11b-db85b8d8b07a@pinyon.org> Date: Thu, 3 Jan 2019 11:11:12 -0700 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: <201812261246.wBQCkdrj005579@sdf.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: B8E5887FD9 X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=pinyon.org header.s=DKIM header.b=gn4Op2Nw; dkim=pass header.d=pinyon.org header.s=DKIM header.b=MKuauf7G; spf=pass (mx1.freebsd.org: domain of rcarter@pinyon.org designates 65.101.20.170 as permitted sender) smtp.mailfrom=rcarter@pinyon.org X-Spamd-Result: default: False [-3.49 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[pinyon.org:s=DKIM]; NEURAL_HAM_MEDIUM(-1.00)[-0.998,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-questions@freebsd.org]; TO_DN_NONE(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCVD_COUNT_THREE(0.00)[3]; RCVD_TLS_LAST(0.00)[]; DKIM_TRACE(0.00)[pinyon.org:+]; MX_GOOD(-0.01)[h2.pinyon.org,h1.pinyon.org]; DMARC_NA(0.00)[pinyon.org]; NEURAL_HAM_SHORT(-0.99)[-0.990,0]; IP_SCORE(-0.99)[ipnet: 65.100.0.0/14(-4.91), asn: 209(0.02), country: US(-0.08)]; FROM_EQ_ENVFROM(0.00)[]; SUBJECT_ENDS_QUESTION(1.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:209, ipnet:65.100.0.0/14, country:US]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 18:11:25 -0000 On 12/26/18 5:46 AM, iam@sdf.org wrote: > i am running freebsd-12 under x86-64. > i have been pointed to 'as' and 'ld' for tools. > i have also been pointed to the 'url' for intel > documentation about x86-64 assembly. > i also have a sample "hello world" program in > x86-64 assembly language. > may i know of any tutorials which can teach me > to work with assembly using x86-64? > i saw one book on amazon.com, but that uses the > assembler from microsoft ('masm') which i think > only runs under windows-10+. > any pointers and/or help would be appreciated. > thank you. Basically for x86_64 you can use docs aimed at linux, modulo some minor issues such as renumbering some syscalls. Here are some I've found helpful: This one is free and guaranteed fantastic: https://yurichev.com/writings/UAL-EN.pdf Not bad: http://www.egr.unlv.edu/%7Eed/x86.html Both NASM and YASM have very good docs on the actual syntax. You can find some ok guides about translating between intel and att syntax. This one costs a little bit: https://www.packtpub.com/application-development/mastering-assembly-programming So does this one but it's pretty good: https://rayseyfarth.com/asm/ I generally like supporting authors writing about less common but fundamental programming areas, especially if I can sidestep Amazon. HTH, Russell